@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-color:#ded6d1;--text-primary:#111;--text-secondary:#555;--accent-color:#000;--accent-hover:#222;--glass-bg:#fff6;--glass-border:#fff9;--glass-shadow:0 10px 40px #0000000d;--vignette-color:#a5b4fc66;--radius-xl:48px;--radius-lg:24px;--radius-md:16px}html,body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;padding:0;font-family:Inter,sans-serif;overflow-x:hidden}#root{z-index:1;flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative}.noise-overlay{pointer-events:none;z-index:9999;opacity:.6;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");position:fixed;inset:0}.vignette-glow{pointer-events:none;z-index:-1;background:radial-gradient(circle at 50% 50%, transparent 40%, var(--vignette-color) 130%);position:fixed;inset:0}*{box-sizing:border-box}button{font-family:Inter,sans-serif}@font-face{font-family:Wild World;src:url(/assets/WILD%20WORLD-zo1YOqO7.otf)format("opentype");font-weight:400;font-style:normal;font-display:block}:root{--kriss-black:#000;--kriss-white:#fff;--kriss-gray:#f5f5f5;--kriss-border:#00000014;--kriss-text:#111;--kriss-text-muted:#666;--kriss-accent:#2c2c2c;--shadow-soft:0 20px 40px #0000001a;--radius-xl:48px;--radius-lg:32px;--radius-md:16px;--block-depth:24px;--title-size:clamp(3rem, 3.5vw, 6rem);--subtitle-size:clamp(1rem, 1.5vw, 1.3rem);--modal-bg-top:#1a181af0;--modal-bg-bottom:#100f12eb;--modal-border:#ffffff1f;--modal-text:#f3ece3;--modal-text-soft:#d5ccc2;--modal-text-muted:#a99f94;--modal-accent:#e68a46}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{color:#f5f1e8;background-color:#000;margin:0;padding:0;font-family:Wild World,system-ui,sans-serif;overflow-x:hidden}.practice-container,.results-container,.system-check-modal,.template-modal,.overview-modal-content{font-family:Inter,system-ui,sans-serif}@keyframes cloud-move-ios{0%{transform:translate(0,0)scale(1)}to{transform:translate3d(calc(var(--tx,0px) * .55), calc(var(--ty,0px) * .55), 0) scale(1.08)}}.initial-loader-screen{perspective:2000px;z-index:1;pointer-events:auto;flex-direction:column;justify-content:flex-start;align-items:center;width:100vw;min-height:100vh;transition:background-color 1s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden auto}.wc-page.dark-theme,.initial-loader-screen.dark-theme{--kriss-text:#fff;--kriss-text-muted:#aaa;--glass-tint:#28282880;--glass-border:#ffffff1a;--side-color:#3c3c3c99}.wc-page.bright-theme{--kriss-text:#111;--kriss-text-muted:#666;--glass-tint:#ffffff59;--glass-border:#0000000d;--side-color:#c8beb980}.initial-loader-screen{background-color:#000;justify-content:center;align-items:center;display:flex}.initial-loader-value{letter-spacing:-.05em;color:#fff;font-family:Wild World,system-ui,sans-serif;font-size:6rem;font-weight:900}.landing-hero-shell{z-index:2;width:100%;max-width:1100px;min-height:calc(100vh - clamp(72px,10vh,104px));transform-style:preserve-3d;box-sizing:border-box;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:clamp(18px,4vh,42px);margin-top:clamp(48px,9vh,96px);margin-bottom:clamp(20px,4vh,40px);padding:clamp(28px,5vh,48px) 40px clamp(40px,8vh,72px);display:flex}.wc-page{background-color:#000;background-image:linear-gradient(#060606 0%,#0d0d0d 100%);flex-direction:column;width:100%;min-height:100vh;transition:background-color .9s cubic-bezier(.4,0,.2,1),background-image .9s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow-x:hidden}.wc-page.dark-theme{background-color:#000;background-image:linear-gradient(#060606 0%,#0d0d0d 100%)}.wc-page.bright-theme{background-color:#fffbe9;background-image:radial-gradient(circle at 12% 16%,#fff2b085 0%,#fff2b000 42%),radial-gradient(circle at 84% 18%,#ffec9770 0%,#ffec9700 40%),linear-gradient(#fffef8 0%,#fff8d9 100%)}.wc-page__content{width:100%}.wc-bg-neutral-1000,.wc-background--color-dark,.wc-bg-dark{background:#080808d1}.wc-theme-dark{color:#f5f1e8}.wc-py-1{padding-block:.25rem}.d-none{display:none}@media (width>=992px){.d-lg-block{display:block}}.landing-header{box-sizing:border-box;z-index:100003;justify-content:center;width:100%;padding-top:clamp(8px,1.5vh,18px);display:flex}.landing-utility-header{border-bottom:1px solid #ffffff0f;width:100%;min-height:22px}.landing-main{width:100%}.landing-flow{box-sizing:border-box;width:100%}.landing-hero{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.landing-faq-section{box-sizing:border-box;width:100%;padding:clamp(56px,10vh,110px) 24px 96px}.landing-footer{border-top:1px solid #ffffff14;width:100%;margin-top:auto}.landing-footer-inner{color:#f5f1e8d1;justify-content:space-between;align-items:center;gap:16px;width:min(1100px,100% - 48px);margin:0 auto;padding:22px 0 28px;display:flex}.landing-footer-brand{letter-spacing:.24em;font-size:.82rem}.landing-footer-copy{text-align:right;font-family:Inter,system-ui,sans-serif;font-size:.92rem}@media (width<=768px){.landing-footer-inner{flex-direction:column;align-items:flex-start;width:min(100%,100% - 32px);padding:18px 0 24px}.landing-footer-copy{text-align:left}}.landing-overview-section{box-sizing:border-box;width:100%;padding:0 24px}.landing-overview-shell{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#ffffff14,#ffffff08),#0e0e0e94;border:1px solid #ffffff1f;border-radius:34px;width:min(100%,1100px);margin:0 auto;padding:clamp(28px,4vw,44px);box-shadow:0 24px 80px #00000047}.landing-overview-heading{max-width:780px;margin-bottom:26px}.landing-overview-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#ffffff9e;margin:0 0 10px;font-family:Arial,Helvetica,sans-serif;font-size:.78rem;font-weight:700}.landing-overview-heading h2{color:#fff;margin:0;font-family:Wild World,system-ui,sans-serif;font-size:clamp(1.5rem,4vw,2.7rem);line-height:1.08}.landing-overview-intro{color:#f5f1e8d1;margin:14px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(.98rem,1.6vw,1.08rem);line-height:1.75}.landing-overview-accordion{gap:12px;display:grid}.landing-faq-shell{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#ffffff14,#ffffff08),#0e0e0e94;border:1px solid #ffffff1f;border-radius:34px;width:min(100%,1100px);margin:0 auto;padding:clamp(28px,4vw,44px);box-shadow:0 24px 80px #00000047}.landing-faq-heading{max-width:780px;margin-bottom:26px}.landing-faq-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#ffffff9e;margin:0 0 10px;font-family:Arial,Helvetica,sans-serif;font-size:.78rem;font-weight:700}.landing-faq-heading h2{color:#fff;margin:0;font-family:Wild World,system-ui,sans-serif;font-size:clamp(1.5rem,4vw,2.7rem);line-height:1.08}.landing-faq-intro{color:#f5f1e8d1;margin:14px 0 0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(.98rem,1.6vw,1.08rem);line-height:1.75}.landing-faq-accordion{gap:14px;display:grid}.landing-faq-accordion .accordion-item{background:#ffffff08;border:1px solid #ffffff1a;border-radius:24px;overflow:hidden}.landing-faq-accordion .accordion-header{padding:22px 24px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(1rem,1.8vw,1.08rem);font-weight:700}.landing-faq-accordion .accordion-content{padding:0 24px}.landing-faq-accordion .accordion-item.active .accordion-content{padding-bottom:22px}.landing-faq-accordion .overview-section p{color:#f5f1e8c7;margin:0;line-height:1.8}.landing-topbar{box-sizing:border-box;pointer-events:auto;justify-content:space-between;align-items:flex-start;gap:12px;width:min(100%,1100px);margin:0;padding:0 40px;display:flex;position:relative}.landing-topbar-brand{align-items:flex-start;gap:12px;display:flex}.landing-logo{object-fit:contain;filter:brightness(0)invert();width:auto;max-width:min(38vw,220px);height:clamp(26px,4.5vw,42px);display:block;transform:translateY(2px)}.landing-brand{letter-spacing:clamp(.04em,.18vw,.09em);color:#fff;white-space:nowrap;align-self:flex-end;font-family:Wild World,system-ui,sans-serif;font-size:clamp(.48rem,1.4vw,.72rem);font-weight:900;line-height:1;transform:translateY(.2em)}.landing-login-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;padding:10px 16px;font-family:Arial,Helvetica,sans-serif;font-size:.9rem;font-weight:700;transition:transform .2s,background-color .2s,border-color .2s}.landing-login-btn:hover{background:#ffffff1f;border-color:#ffffff47;transform:translateY(-1px)}.login-modal{max-width:520px}.login-modal-copy{margin-bottom:18px;line-height:1.6}.login-provider-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.login-provider-btn{color:#fff;cursor:pointer;border:1px solid #ffffff24;border-radius:14px;width:100%;padding:16px 18px;font-size:1rem;font-weight:800;transition:transform .2s,opacity .2s,border-color .2s}.login-provider-btn:hover{transform:translateY(-1px)}.login-provider-btn:disabled{cursor:wait;opacity:.7}.login-provider-btn.kakao{color:#191600;background:#fee500;border-color:#ffe50099}.login-provider-btn.google{color:#111;background:#fff;border-color:#ffffffa6}.login-session-card{background:#ffffff0a;border:1px solid #ffffff24;border-radius:14px;margin:18px 0 14px;padding:16px 18px}.login-session-card strong{color:var(--modal-text);margin-bottom:6px;display:block}.login-session-card p{margin:0}.login-signout-btn{width:100%}.login-error-text{margin-top:14px;color:#ffb9b0!important}.typewriter-stage{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:clamp(9rem,20vh,14rem);display:flex}.landing-hero-shell h1,.landing-copy,.glass-selection-card,.system-check-overlay,.system-check-modal{pointer-events:auto}.glass-selection-card,.system-check-modal,.template-modal,.overview-modal-content{font-family:Arial,Helvetica,sans-serif}.maseda-3d-title{letter-spacing:clamp(.06em,.8vw,.2em);text-align:center;color:#fff;white-space:pre-line;overflow-wrap:normal;word-break:normal;text-shadow:0 0 20px #fff6;max-width:94vw;margin:-10px auto 0;padding-block:.06em;padding-inline:.04em;font-family:Wild World,system-ui,sans-serif;font-size:clamp(1.7rem,11vw,6rem);font-weight:900;line-height:1.16;animation:1s cubic-bezier(.22,1,.36,1) slideDownFade;position:relative;left:0}.typewriter-cursor{color:#f5f1e8;vertical-align:baseline;margin-left:6px;font-weight:400;display:inline-block}.typewriter-cursor.blink{animation:.9s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.landing-hero-shell h1:not(.maseda-3d-title){font-size:var(--title-size);letter-spacing:-.04em;color:#f5f1e8;margin:0;font-weight:900;transform:translateZ(100px)}.landing-copy{color:#f5f1e8;text-align:center;max-width:850px;margin:11px 0 0;font-family:Wild World,system-ui,sans-serif;font-size:1rem;line-height:1.4;transform:translateZ(60px)}@media (width>=769px){.landing-copy{white-space:nowrap;max-width:min(92vw,1280px);font-size:clamp(1.28rem,1.84vw,1.8rem)}}@media (width>=481px) and (width<=1024px){.maseda-3d-title{letter-spacing:clamp(.03em,.42vw,.075em);max-width:none;text-wrap:balance;max-inline-size:min(95vw,22ch);margin-top:clamp(0rem,.8svh,.45rem);padding-block:clamp(.08em,.2vh,.13em);font-size:clamp(1.2rem,7.6vw,3.1rem);line-height:1.18;left:0}}@media (width>=1025px){.maseda-3d-title{max-width:none;text-wrap:balance;max-inline-size:min(94vw,22ch)}}@media (width>=1025px) and (width<=1399px){.maseda-3d-title{letter-spacing:clamp(.03em,.45vw,.1em);margin-top:max(0px,.5svh);font-size:clamp(1.45rem,6.6vw,4.4rem);line-height:1.18;left:-.08em}}@media (width>=1400px) and (hover:hover) and (pointer:fine){.maseda-3d-title{left:-.28em}}.glass-grid-container{opacity:0;pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(14px,2.2vw,30px);margin-top:clamp(12px,3vh,28px);transition:opacity .5s;display:flex}.glass-grid-container.fade-in{opacity:1;pointer-events:auto}.glass-grid-container:not(.fade-in) .glass-selection-card{pointer-events:none;cursor:default}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.glass-selection-card{-webkit-backdrop-filter:blur(30px)saturate(150%);cursor:pointer;width:clamp(220px,18vw,280px);min-height:clamp(60px,7.2svh,80px);transform-style:preserve-3d;background:0 0;border:1px solid #ffffff1a;border-radius:20px;justify-content:center;align-items:center;padding:clamp(8px,1.3vh,12px) clamp(16px,2.6vw,30px);transition:all .4s cubic-bezier(.2,1,.3,1);display:flex;position:relative;box-shadow:0 20px 40px #00000080,inset 0 1px #ffffff1a}.glass-selection-card:hover{background:#28282880;border:1px solid #fff3;transform:translateZ(60px)translateY(-5px);box-shadow:0 30px 60px #0009,inset 0 1px #fff3}.kinetic-spin{animation:.8s cubic-bezier(.68,-.6,.32,1.6) forwards hwiririk-jump-spin}@keyframes hwiririk-jump-spin{0%{transform:translateZ(50px)rotateX(0)}30%{transform:translateZ(150px)scale(1.1)rotateX(180deg)}to{opacity:0;transform:translateZ(1000px)scale(.5)rotateX(720deg)}}.glass-side-right{width:var(--block-depth);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform-origin:100%;background:#0a0a0a99;border-left:1px solid #ffffff0d;border-radius:8px;height:100%;position:absolute;top:0;right:0;transform:rotateY(90deg)}.glass-side-bottom{width:100%;height:var(--block-depth);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform-origin:bottom;background:#050505cc;border-top:1px solid #ffffff0d;border-radius:8px;position:absolute;bottom:0;left:0;transform:rotateX(-90deg)}.glass-card-inner{pointer-events:none;text-align:center;transform:translateZ(20px)}.glass-card-label{letter-spacing:3px;color:#ffffff80;margin-bottom:4px;font-size:.65rem;font-weight:800;display:block}.glass-selection-card h3{color:#fff;white-space:nowrap;margin:0;font-family:Wild World,system-ui,sans-serif;font-size:clamp(1.1rem,1.55vw,1.54rem);font-weight:800}.system-check-overlay{-webkit-backdrop-filter:blur(10px)saturate(120%);backdrop-filter:blur(10px)saturate(120%);z-index:2000;background:radial-gradient(circle at 50% 40%,#ff8a2824,#ff8a2800 52%),#00000094;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.hero-shell-overlay{padding:0;position:absolute;inset:0}.hero-shell-stage{box-sizing:border-box;pointer-events:none;justify-content:center;align-items:center;width:min(100%,1100px);min-height:100%;padding:clamp(96px,14vh,150px) 40px clamp(40px,8vh,72px);display:flex}.hero-shell-stage>.system-check-modal,.hero-shell-stage>.template-modal{pointer-events:auto}.system-check-modal{background:linear-gradient(180deg, var(--modal-bg-top) 0%, var(--modal-bg-bottom) 100%);width:100%;max-width:650px;color:var(--modal-text);border:1px solid var(--modal-border);border-radius:16px;max-height:90vh;padding:24px;position:relative;overflow-y:auto;box-shadow:0 24px 70px #0000008c,inset 0 0 0 1px #ffffff0a}.system-check-modal h2{letter-spacing:0;color:var(--modal-text);margin-top:0;margin-bottom:20px;font-size:1.36rem;font-weight:900}.system-check-modal h1,.overview-modal-content h1{color:var(--modal-text);margin-top:0;font-size:1.36rem}.system-check-modal p,.system-check-modal li,.template-line,.template-detail-header p{color:var(--modal-text-soft)}.status-item{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;padding:24px 0;display:flex}.status-item span{color:var(--modal-text);font-size:1.05rem;font-weight:600}.check-btn{color:#f4ece3;cursor:pointer;background:linear-gradient(#ffffff14 0%,#ffffff0a 100%);border:1px solid #ffffff2e;border-radius:999px;padding:11px 18px;font-size:.92rem;font-weight:800;transition:transform .15s,box-shadow .15s,border-color .15s;box-shadow:0 8px 20px #00000038}.check-btn:hover{border-color:#ffffff47;transform:translateY(-1px);box-shadow:0 12px 24px #00000047}.system-check-complete-btn{width:100%;margin-top:24px}.system-check-complete-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.audio-visualizer-elegant{background:linear-gradient(#333 0%,#1a1a1a 100%);border-radius:22px;justify-content:center;align-items:center;height:120px;margin-top:24px;padding:18px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 8px #00000080,0 0 20px #0000004d}.audio-wave{transform-origin:50%;filter:blur(2px);background:linear-gradient(90deg,#6a11cb 0%,#2575fc 100%);border-radius:10px;width:100%;height:20px;animation:1.8s ease-in-out infinite alternate wave-pulse;box-shadow:0 0 15px #2575fc99}@keyframes wave-pulse{0%{opacity:.7;transform:scaleX(.7)scaleY(.6)}50%{opacity:1;transform:scaleX(1)scaleY(1)}to{opacity:.7;transform:scaleX(.7)scaleY(.6)}}.audio-animation,.audio-bar{display:none}.accordion-item{background:0 0;border-radius:12px;margin-bottom:12px;overflow:visible}.accordion-header{text-align:left;width:100%;color:var(--modal-text);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:12px;justify-content:space-between;padding:12px 24px;font-size:1.2rem;font-weight:700;display:flex}.accordion-content{color:var(--modal-text-soft);background:#ffffff08;border:1px solid #ffffff24;border-radius:12px;margin-top:8px;padding:18px 24px 24px;line-height:1.6;display:none}.accordion-item.active .accordion-content{display:block}.accordion-icon{font-size:1.1rem;transition:transform .2s}.accordion-item.active .accordion-icon{transform:rotate(180deg)}.overview-modal-content{overscroll-behavior:contain;width:min(980px,92vw);height:min(88vh,780px);overflow-y:auto}.overview-section ul{margin:0;padding-left:20px;line-height:1.8}.part-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.part-card{background:#ffffff0a;border:1px solid #ffffff24;border-radius:14px;padding:18px}.part-card h3{margin:0 0 12px;font-size:1.05rem;line-height:1.4}.part-card p{color:var(--modal-text-soft);margin:8px 0 0}.part-card-wide{grid-column:span 2}.table-wrap{background:#ffffff08;border:1px solid #ffffff24;border-radius:14px}.overview-table{border-collapse:collapse;table-layout:fixed;width:100%}.overview-table th,.overview-table td{text-align:center;word-break:keep-all;overflow-wrap:anywhere;color:var(--modal-text-soft);border-bottom:1px solid #ffffff1a;padding:12px 10px;font-size:.92rem}.overview-table th:first-child,.overview-table td:first-child{text-align:left;width:38%;padding-left:20px}.overview-table td:not(:first-child),.overview-table th.part-num-header{width:12.4%}.overview-table thead th{color:var(--modal-text);background:#ffffff14;font-weight:800}.merged-part-header{letter-spacing:.2em;border-left:1px solid #ffffff1a;font-size:.7rem;padding:6px 0!important}.part-num-header{border-left:1px solid #ffffff1a;font-size:.95rem;text-align:center!important;padding:8px 0!important}.overview-table tbody tr:last-child td{border-bottom:none}.level-table td:last-child,.level-table th:last-child{text-align:left}.level-table{table-layout:fixed;width:100%}.level-table th:first-child,.level-table td:first-child{text-align:center;width:15%;padding:12px 5px}.level-table th:nth-child(2),.level-table td:nth-child(2){text-align:left;width:15%;padding-left:8px}.level-table th:nth-child(3),.level-table td:nth-child(3){width:70%;padding-left:15px}.category-selector{grid-template-columns:1fr 1fr;gap:20px;margin:30px 0;display:grid}.category-btn{color:var(--modal-text-soft);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff29;border-radius:14px;padding:15px 30px;font-size:1.1rem;font-weight:700;transition:all .3s}.category-btn:hover{border-color:#ffa86094;transform:translateY(-3px)}.category-btn.active{color:#fff2e7;background:linear-gradient(#e68a463d 0%,#e68a4624 100%);border-color:#ffa860b3}.template-modal{overscroll-behavior:contain;width:min(1100px,92vw);height:min(88vh,780px);max-height:88vh;overflow-y:auto}.template-panel{margin-top:8px}.template-option-toggle{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.template-option-btn,.level-btn,.inline-save-btn,.template-list-item,.custom-logic-form input{transition:all .2s}.template-option-btn,.level-btn,.inline-save-btn{color:var(--modal-text-soft);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff29;border-radius:12px;padding:14px 18px;font-weight:700}.template-option-btn.active,.level-btn.active,.inline-save-btn{color:#fff2e7;background:linear-gradient(#e68a463d 0%,#e68a4624 100%);border-color:#ffa860a8}.template-layout{grid-template-columns:240px 1fr;gap:20px;display:grid}.template-list{flex-direction:column;gap:10px;display:flex}.template-list-item{text-align:left;cursor:pointer;width:100%;color:var(--modal-text-soft);background:#ffffff0a;border:1px solid #ffffff24;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.template-list-item.active{background:#e68a4626;border-color:#ffa860a6}.template-list-item strong{letter-spacing:.08em;font-size:.76rem}.template-detail{background:#ffffff08;border:1px solid #ffffff24;border-radius:14px;padding:24px}.template-detail-header h3{margin:0 0 8px}.template-detail-header p{color:var(--modal-text-soft);margin:0 0 20px;line-height:1.6}.level-toggle{gap:10px;margin-bottom:18px;display:flex}.template-preview{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.template-action-row{flex-wrap:wrap;gap:12px;display:flex}.template-line{background:#ffffff08;border:1px solid #ffffff24;border-radius:12px;padding:14px 16px;line-height:1.5}.secondary-action-btn{color:var(--modal-text-soft);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:12px;padding:14px 18px;font-weight:700}.template-textarea{width:100%;min-height:260px;font:inherit;resize:vertical;color:var(--modal-text);background:#09090c8c;border:1px solid #ffffff29;border-radius:12px;margin-bottom:18px;padding:18px}.logic-grid{grid-template-columns:1fr;gap:14px;display:grid}.logic-card{background:#ffffff08;border:1px solid #ffffff24;border-radius:12px;justify-content:flex-start;align-items:flex-start;gap:10px;padding:16px;display:flex;position:relative}.logic-card>input[type=checkbox]{flex:none;margin-top:3px}.logic-content{flex:1;min-width:0;padding-top:2px;padding-right:26px}.logic-content strong,.logic-content p{overflow-wrap:anywhere;word-break:break-word;text-wrap:pretty;display:block}.logic-card p{color:var(--modal-text-soft);margin:6px 0 0;line-height:1.5}.saved-badge{color:#ffd4ae;letter-spacing:0;background:#ffa86038;border-radius:999px;justify-content:center;align-items:center;padding:1px 3px;font-size:.65rem;font-weight:800;display:inline-flex;position:absolute;top:20px;right:20px}.remove-logic-btn{color:#777;cursor:pointer;background:#00000003;border:none;padding:0;font-size:1.2rem;line-height:1}.custom-logic-section{flex-direction:column;gap:18px;display:flex}.logic-feedback-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.logic-warning-modal{text-align:center;max-width:420px}.logic-warning-overlay{z-index:2600}.logic-warning-modal p{margin:0 0 18px;line-height:1.6}.notice-confirm-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#111 0%,#383838 100%);border:none;border-radius:999px;padding:12px 22px;font-size:.95rem;font-weight:800;box-shadow:0 10px 24px #0000002e}.notice-confirm-btn:hover{transform:translateY(-1px)}.exit-warning-actions{justify-content:center;gap:12px;display:flex}.notice-cancel-btn{color:#222;cursor:pointer;background:#fff;border:1px solid #d5d5d5;border-radius:999px;padding:12px 22px;font-size:.95rem;font-weight:800}.custom-logic-form{grid-template-columns:1fr 1fr;gap:10px;display:grid}.custom-logic-form input{font:inherit;color:var(--modal-text);background:#09090c8c;border:1px solid #ffffff29;border-radius:12px;padding:14px 16px}.add-logic-btn{color:var(--modal-text);background:linear-gradient(#ffffff1f 0%,#ffffff0f 100%);border-color:#fff3;align-self:flex-start}.start-btn-large{color:#1f1209;cursor:pointer;background:linear-gradient(#ef9a5c 0%,#d97535 100%);border:1px solid #ffc494b8;border-radius:99px;padding:22px 60px;font-size:1.3rem;font-weight:800;transition:all .2s;box-shadow:0 12px 34px #00000059}.start-btn-large:disabled{color:#666;cursor:not-allowed;box-shadow:none;filter:grayscale();opacity:.6;background:linear-gradient(#333 0%,#222 100%);border-color:#ffffff0d}.guidance-confirm-btn{margin:28px auto 0;display:block}.save-template-btn{color:#1f1209;cursor:pointer;background:linear-gradient(#ef9a5c 0%,#d97535 100%);border:1px solid #ffc494b8;border-radius:99px;width:100%;margin-top:20px;padding:20px;font-size:1.1rem;font-weight:700}.close-modal-btn{width:32px;height:32px;color:var(--modal-text-soft);cursor:pointer;z-index:10;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:18px;right:18px}.close-modal-btn:hover{color:#fff;background:#ffffff1a;border-color:#ffffff4d;transform:rotate(90deg);box-shadow:0 0 15px #ffffff0d}.intro-video-small{border-radius:8px;width:100%;max-width:600px;margin-top:20px;display:block}.practice-container,.results-container{color:#000;z-index:10;pointer-events:none;background:0 0;flex-direction:column;align-items:center;width:100vw;min-height:100vh;padding:60px;display:flex;position:relative}.practice-container>*,.results-container>*{pointer-events:auto}.results-header{width:min(1200px,100%);margin-bottom:24px}.landing-kicker{letter-spacing:.18em;text-transform:uppercase;color:#555;margin-bottom:8px;font-size:.8rem;font-weight:800}.results-grid{grid-template-columns:1.2fr .9fr;align-items:start;gap:24px;width:min(1200px,100%);display:grid}.questions-list,.evaluation-panel,.overall-report,.question-box{background:#ffffffb8;border:1px solid #00000014;border-radius:28px;width:100%;box-shadow:0 18px 50px #00000014}.questions-list,.evaluation-panel,.overall-report{padding:24px}.overall-report{width:min(1200px,100%);margin-top:28px}.results-table{border-collapse:collapse;width:100%}.results-table th,.results-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e7dfda;padding:14px 12px}.results-table tbody tr{cursor:pointer}.results-table tbody tr.selected-row{background:#0000000f}.q-num{width:52px;font-weight:800}.audio-cell{width:220px}.audio-cell audio{width:100%}.muted-text{color:#888}.transcription-text-truncated{color:#333;line-height:1.5}.evaluation-panel h3,.overall-report h2,.detail-view h4{margin-top:0}.feedback-section{margin-top:18px}.user-transcription,.modified-answer,.empty-selection,.loading-feedback,.loading-report{background:#fff;border:1px solid #e7dfda;border-radius:18px;padding:16px;line-height:1.6}.template-modal .empty-selection{color:var(--modal-text-soft);background:#ffffff08;border:1px solid #ffffff24}.criteria-stars{flex-direction:column;gap:10px;display:flex}.criterion-row{background:#fff;border:1px solid #e7dfda;border-radius:14px;justify-content:space-between;gap:16px;padding:12px 14px;display:flex}.criterion-name{font-weight:700}.star-display{white-space:nowrap}.error-feedback,.error-box-retry{color:#a12323;background:#fff0f0;border:1px solid #fcc;border-radius:18px;padding:16px}.report-content{gap:18px;display:grid}.score-box,.feedback-box{background:#fff;border:1px solid #e7dfda;border-radius:20px;padding:18px}.score-box{justify-content:space-between;align-items:center;display:flex}.score-label{color:#666;font-weight:700}.score-value{font-size:1.4rem;font-weight:900}.results-home-btn{margin-top:20px}.test-progress-shell{flex-direction:column;align-items:flex-start;gap:10px;width:min(980px,100%);margin-bottom:18px;display:flex}.test-exit-btn{color:#111;cursor:pointer;background:#fff;border:1px solid #00000024;border-radius:999px;margin-top:0;padding:4px 10px;font-size:.74rem;font-weight:700;line-height:1}.test-progress-board{border:1px solid #00000014;border-radius:0;flex-direction:column;gap:0;width:100%;display:flex;overflow:hidden}.progress-row{border-bottom:none;grid-template-columns:80px repeat(11,minmax(0,1fr));gap:0;display:grid}.part-row{border-bottom:1px solid #fff}.progress-part-cell,.progress-question-cell{color:#666;text-align:center;background:#fff;border-right:none;justify-content:center;align-items:center;min-height:44px;font-weight:800;display:flex}.label-cell{color:#333;background:#f0f0f0;border-right:none;justify-content:center;align-items:center;font-weight:900;display:flex}.progress-row>.progress-part-cell+.progress-part-cell,.progress-row>.progress-question-cell+.progress-question-cell{border-left:1px solid #fff}.progress-part-cell.passed,.progress-question-cell.passed{color:#fff;background:#111;border-color:#111}.test-status{justify-content:flex-start;align-items:center;width:min(980px,100%);min-height:0;margin-bottom:0;display:flex}.timer-box{text-align:center;background:#ffffffc7;border:1px solid #00000014;border-radius:0;width:clamp(112px,16vw,170px);margin-left:auto;padding:clamp(5px,1.2vw,9px) clamp(9px,2.1vw,16px)}.timer-box-inline{margin-left:0;position:absolute;bottom:clamp(12px,3.2vh,24px);left:50%;transform:translate(-50%)}.timer-label{color:#555;margin-bottom:clamp(2px,.7vh,6px);font-size:clamp(.62rem,1.55vw,.85rem);line-height:1.2;display:block}.timer{margin:0;font-size:clamp(1.2rem,4.8vw,2rem);font-weight:900;line-height:1.05}.question-box{background:#fff;border-radius:0;width:min(980px,100%);min-height:420px;padding:28px 28px 116px;position:relative}.directions-view h3{margin-top:0}.direction-text{white-space:pre-wrap;font-size:clamp(.98rem,.9rem + .35vw,1rem);line-height:clamp(1.55,1.45 + .25vw,1.7)}.direction-label{color:#000;margin-right:10px;font-size:1.4rem;font-weight:800}.saving-overlay{box-sizing:border-box;background:#ffffffb8;border-radius:0;justify-content:center;align-items:center;padding:clamp(8px,2.2vw,24px);display:flex;position:absolute;inset:0}.saving-modal{text-align:center;background:#fff;border:1px solid #e7dfda;border-radius:0;width:min(100%,1120px);padding:clamp(14px,4.8vw,56px);box-shadow:0 20px 60px #0003}.saving-modal h3{margin-top:0;margin-bottom:clamp(10px,2.6vw,24px);font-size:clamp(1.15rem,5.2vw,2.5rem);line-height:1.2}.saving-modal p{margin:clamp(8px,2vw,16px) 0 0;font-size:clamp(.86rem,3.6vw,1.5rem);line-height:1.5}.content{flex-direction:column;gap:20px;display:flex}.question-text{text-align:center;white-space:pre-wrap;font-size:clamp(.98rem,.9rem + .35vw,1rem);line-height:clamp(1.55,1.45 + .25vw,1.7)}.question-intro{font-weight:800}.responsive-img{object-fit:contain;background:#fff;border:1px solid #fff;border-radius:20px;width:100%;max-height:420px}.chart-container{background:#fff;border:1px solid #e7dfda;border-radius:0;padding:18px;overflow:hidden}.fade-in{animation:1.2s forwards landing-fade-in}@keyframes landing-fade-in{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=900px){.glass-grid-container{flex-direction:column;align-items:center;gap:12px;width:100%}.glass-selection-card{border-radius:14px;width:clamp(220px,62vw,320px);min-height:clamp(56px,7.6svh,72px);padding:clamp(8px,1.2vh,12px) clamp(14px,3vw,20px);background:0 0!important;transition:none!important}.glass-selection-card:hover{background:0 0!important;transform:none!important}.glass-selection-card h3{white-space:normal;text-align:center;font-size:clamp(1.02rem,4.2vw,1.42rem);line-height:1.2}.landing-hero-shell{gap:22px;min-height:calc(100vh - clamp(68px,9vh,92px));margin-top:clamp(38px,8vh,72px);margin-bottom:clamp(18px,3vh,30px);padding:clamp(20px,4vh,32px) 16px 28px}.system-check-overlay{padding:12px}.hero-shell-overlay{padding:0}.hero-shell-stage{min-height:100%;padding:clamp(88px,12vh,124px) 16px 28px}.system-check-modal,.template-modal,.overview-modal-content{border-radius:20px;width:min(100vw - 24px,980px);height:auto;max-height:calc(100dvh - 24px);padding:16px}.system-check-modal h2{margin-bottom:18px;font-size:1.54rem;line-height:1.2}.status-item{gap:10px;padding:14px 0}.status-item span{font-size:1rem}.check-btn{min-height:42px;padding:10px 14px;font-size:.88rem}.start-btn-large{width:100%;padding:14px 20px;font-size:1rem}.close-modal-btn{top:12px;right:12px}.audio-visualizer-elegant{border-radius:14px;height:90px;margin-top:16px;padding:12px}.audio-wave{border-radius:8px;height:16px}.accordion-header{align-items:flex-start;gap:10px;padding:7px 16px;font-size:1rem;line-height:1.3}.accordion-content{padding:12px 16px 16px}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.overview-table{min-width:0}.overview-table th,.overview-table td{padding:10px 4px;font-size:.85rem}.overview-table th:first-child,.overview-table td:first-child{width:34%;padding-left:12px}.overview-table td:not(:first-child),.overview-table th.part-num-header{width:13.2%}.level-table th:first-child,.level-table td:first-child,.level-table th:nth-child(2),.level-table td:nth-child(2){width:15%!important}.level-table th:nth-child(3),.level-table td:nth-child(3){width:70%!important}.category-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.category-btn{border-radius:14px;padding:12px 10px;font-size:.9rem}.template-option-toggle{grid-template-columns:1fr 1fr;gap:8px}.template-option-btn{padding:10px 5px;font-size:.85rem}.template-detail{border-radius:14px;padding:14px}.template-list-item{border-radius:12px;padding:12px}.template-textarea{min-height:180px;padding:12px}.template-line{border-radius:12px;padding:10px 12px;font-size:.95rem}.logic-card{border-radius:14px;padding:12px}.saved-badge{top:12px;right:12px}.level-toggle,.template-action-row,.logic-feedback-row{flex-direction:column;align-items:stretch}.template-option-btn,.level-btn,.inline-save-btn,.secondary-action-btn{width:100%;min-height:44px}.results-grid,.part-grid,.template-layout,.logic-grid,.custom-logic-form{grid-template-columns:1fr}.practice-container,.results-container{padding:32px 18px}.test-progress-shell,.test-status{gap:12px}.progress-row{grid-template-columns:repeat(12,minmax(0,1fr))}.progress-part-cell,.progress-question-cell{min-height:clamp(30px,6.2vw,38px);padding-left:2px;padding-right:2px;font-size:clamp(.56rem,2.05vw,.7rem)}.label-cell{font-size:clamp(.52rem,1.95vw,.68rem);font-weight:800}.timer-box{margin-left:0}.part-card-wide{grid-column:span 1}.chart-container{width:100%;max-width:100%;max-height:min(42vh,320px);padding:10px;overflow:hidden auto}.chart-container>div{font-size:clamp(.58rem,2.2vw,.78rem);line-height:1.35;width:100%!important;max-width:100%!important}.chart-container table{table-layout:fixed;border-collapse:collapse;width:100%!important;max-width:100%!important}.chart-container th,.chart-container td{word-break:break-word;overflow-wrap:anywhere;padding:clamp(2px,.9vw,6px)!important;font-size:clamp(.55rem,2.1vw,.76rem)!important}.chart-container img,.chart-container svg{max-width:100%!important;height:auto!important}}@media (width<=480px){.landing-hero-shell{gap:14px;min-height:calc(100vh - clamp(64px,8vh,84px));margin-top:clamp(32px,7vh,56px);margin-bottom:18px;padding:clamp(18px,3.5vh,26px) 12px 18px}.landing-topbar{gap:8px;width:min(100%,1100px);padding:0 12px;top:8px}.landing-topbar-brand{gap:8px}.landing-logo{max-width:44vw;height:clamp(22px,6vw,30px);transform:translateY(1px)}.landing-brand{letter-spacing:clamp(.03em,.14vw,.07em);font-size:clamp(.4rem,1.8vw,.5rem);transform:translateY(.16em)}.landing-login-btn{padding:8px 12px;font-size:.76rem}.maseda-3d-title{letter-spacing:clamp(.025em,.5vw,.07em);max-width:none;text-wrap:balance;max-inline-size:min(96vw,22ch);margin-top:clamp(0rem,1.2svh,.65rem);padding-block:clamp(.08em,.24vh,.14em);font-size:clamp(1.08rem,8.8vw,2.25rem);line-height:1.18}.system-check-overlay{padding:8px}.hero-shell-overlay{padding:0}.hero-shell-stage{min-height:100%;padding:clamp(76px,11vh,108px) 12px 18px}.system-check-modal,.template-modal,.overview-modal-content{border-radius:16px;width:calc(100vw - 16px);height:auto;max-height:calc(100dvh - 16px);padding:12px}.system-check-modal h2{margin-bottom:14px;font-size:1.54rem}.system-check-modal p,.system-check-modal li,.template-line,.template-detail-header p{font-size:.92rem;line-height:1.5}.status-item{flex-direction:column;align-items:stretch}.check-btn{width:100%}.close-modal-btn{top:12px;right:12px}.level-table th:first-child,.level-table td:first-child{text-align:center;width:15%;padding:8px 2px;font-size:.75rem}.level-table th:nth-child(2),.level-table td:nth-child(2){width:15%;padding-left:4px;font-size:.75rem}.level-table th:nth-child(3),.level-table td:nth-child(3){width:70%;padding-left:8px;font-size:.75rem;line-height:1.3}.overview-table{min-width:0}.overview-table th,.overview-table td{padding:8px 2px;font-size:.75rem}.merged-part-header{letter-spacing:.1em;font-size:.55rem}.part-num-header{font-size:.85rem}}.ready-prompt-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100001;cursor:pointer;opacity:1;background:#000;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .36s;animation:.8s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.ready-prompt-overlay.is-exiting{opacity:0;pointer-events:none}.ready-prompt-overlay.is-exiting .ready-title{animation:.36s cubic-bezier(.22,1,.36,1) forwards slideUpFadeOut}.ready-prompt-overlay.is-exiting .ready-action-hint{animation:.36s forwards ready-static-fade-out}.ready-prompt-overlay.is-exiting .ready-subtitle{animation:.36s cubic-bezier(.22,1,.36,1) forwards slideDownFadeOut}.ready-subtitle.is-ghosted{opacity:0}.ready-prompt-content{box-sizing:border-box;text-align:center;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:clamp(2px,.6vh,6px);width:min(94vw,1200px);height:100%;margin:0 auto;padding:clamp(12px,3vh,28px) 0;display:flex;position:relative}.ready-title{color:#fff;letter-spacing:clamp(.06em,.8vw,.2em);white-space:normal;overflow-wrap:anywhere;text-shadow:0 0 20px #fff6;max-width:94vw;margin:0;font-size:clamp(1.2rem,8.5vw,4.5rem);font-weight:900;line-height:1.1;animation:1s cubic-bezier(.22,1,.36,1) slideDownFade}.ready-subtitle{color:#f3f3d6;letter-spacing:clamp(.12em,1.3vw,.5em);white-space:normal;overflow-wrap:anywhere;text-shadow:0 0 10px #ffcc0080;max-width:94vw;margin:11px 0 0;font-size:clamp(.78rem,5.2vw,2rem);font-weight:300;line-height:1.2;animation:1s cubic-bezier(.22,1,.36,1) .2s both slideUpFade}@media (hover:none) and (pointer:coarse){.maseda-3d-title,.ready-title,.ready-subtitle{text-shadow:none!important}}@media (width<=480px){.ready-title{letter-spacing:clamp(.04em,.6vw,.08em);font-size:clamp(1rem,8vw,1.8rem)}.ready-subtitle{letter-spacing:clamp(.08em,.8vw,.15em);font-size:clamp(.68rem,4.8vw,1.1rem)}.floating-toeic-subtitle{margin:0}.floating-toeic-subtitle.is-settled{transform:translate3d(-50%, calc(-50% + var(--toeic-start-shift,0px)), 0)}@keyframes toeic-move-to-hammer{0%{transform:translate3d(-50%, calc(-50% + var(--toeic-start-shift,0px)), 0);opacity:1}to{transform:translate3d(-50%, calc(-50% + var(--toeic-start-shift,0px)), 0);opacity:1}}}.ready-action-hint{text-align:center;color:#ffffff80;letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;width:auto;font-size:.9rem;animation:2s ease-in-out 1.2s infinite pulseOpacity;display:inline-flex;position:absolute;bottom:24vh;left:50%;transform:translate(-50%)}.floating-toeic-subtitle{transform:translate3d(-50%, calc(-50% + var(--toeic-start-shift,0px)), 0);pointer-events:none;z-index:100002;white-space:nowrap;will-change:transform;backface-visibility:hidden;margin:0;animation:none;position:fixed;top:50%;left:50%}.floating-toeic-subtitle .toeic-char{display:inline-block}.floating-toeic-subtitle.is-moving{animation:1.5s cubic-bezier(.22,1,.36,1) forwards toeic-move-to-hammer}.floating-toeic-subtitle.is-settled{transform:translate3d(-50%, calc(-50% + var(--toeic-start-shift,0px)), 0)}.floating-toeic-subtitle.is-shattering .toeic-char{animation:toeic-char-shatter var(--dur,1.7s) cubic-bezier(.17, .84, .44, 1) forwards;animation-delay:var(--delay,0s)}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes toeic-move-to-hammer{0%{transform:translate3d(-50%, calc(-50% + var(--toeic-start-shift,0px)), 0);opacity:1}to{transform:translate3d(-50%, calc(-50% + var(--toeic-start-shift,0px)), 0);opacity:1}}@keyframes toeic-char-shatter{0%{opacity:1;filter:blur();transform:translate(0,0)rotate(0)scale(1)}to{opacity:1;transform:translate3d(var(--dx,0), var(--dy,0), 0) rotate(var(--rot,0deg)) scale(.86);filter:blur()}}@keyframes ready-static-fade-out{0%{opacity:1}to{opacity:0}}@keyframes slideUpFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}@keyframes slideDownFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(30px)}}@keyframes pulseOpacity{0%,to{opacity:.3}50%{opacity:.8}}
