@import url("https://fonts.googleapis.com/css2?family=Archivo+Black&family=Space+Mono:wght@400;700&family=Noto+Sans+KR:wght@400;500;700;900&display=swap");:root{--cyan:#01beff;--black:#000000;--white:#ffffff;--accent:var(--cyan);--font-display:"Archivo Black","Noto Sans KR",sans-serif;--font-mono:"Space Mono",ui-monospace,monospace;--font-kr:"Noto Sans KR",-apple-system,BlinkMacSystemFont,sans-serif;--shadow-hard:6px 6px 0 var(--black);--shadow-hard-lg:10px 10px 0 var(--black);--pad:20px}*{margin:0;padding:0;box-sizing:border-box}body,html{background:var(--black);font-family:var(--font-kr);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}body{color:var(--black)}.act-beat,.act-why,.opening-text,.prose,.sit-text,.slate-sit,dd,li,p{word-break:keep-all;overflow-wrap:break-word}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}img{display:block;max-width:100%}.stage{position:relative;width:100%;max-width:560px;margin:0 auto;background:var(--cyan);overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom)}.screen,.stage{min-height:100dvh}.screen{display:flex;flex-direction:column}.chip{display:inline-block;padding:6px 14px;background:var(--black);color:var(--cyan);font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.14em;white-space:nowrap}.chip.inv{background:var(--cyan);color:var(--black)}.mono{font-family:var(--font-mono);font-weight:700;letter-spacing:.1em;font-size:12px}.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:62px;padding:0 22px;background:var(--black);color:var(--cyan);font-weight:900;font-size:19px;letter-spacing:.01em;box-shadow:var(--shadow-hard);transition:transform .06s ease,box-shadow .06s ease}.btn:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--black)}.btn[disabled]{opacity:.45;pointer-events:none}.btn.ghost{background:transparent;color:var(--black);border:3px solid var(--black);box-shadow:none;font-size:16px;min-height:52px}.btn.ghost:active{transform:translate(3px,3px)}.btn.small{min-height:48px;font-size:15px;box-shadow:4px 4px 0 var(--black)}.card{background:var(--white);border:3px solid var(--black);box-shadow:var(--shadow-hard);padding:16px}.card-h{font-family:var(--font-mono);font-weight:700;font-size:11px;letter-spacing:.16em;padding-bottom:8px;margin-bottom:10px;border-bottom:2px solid var(--black)}.poster-shapes{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.poster-shapes.front{z-index:3}.poster-shapes .sh{position:absolute;display:block;height:auto}.sh-gear{top:10%;right:-20%;width:min(36vw,165px);opacity:.9}.sh-bolt{top:38%;right:-22%;width:min(34vw,155px)}.sh-note8{bottom:-2%;left:-11%;width:min(26vw,120px)}.sh-swirl{bottom:-10%;right:-30%;width:min(44vw,200px)}.sh-bolt-sm{top:.5%;right:-15%;width:min(30vw,135px);opacity:.9}.float-a{animation:floatA 9s ease-in-out infinite alternate}.float-b{animation:floatB 11s ease-in-out infinite alternate}.float-c{animation:floatC 13s ease-in-out infinite alternate}.spin{animation:gearSpin 55s linear infinite}@keyframes floatA{0%{transform:translate(0) rotate(-3deg)}to{transform:translate(10px,-14px) rotate(4deg)}}@keyframes floatB{0%{transform:translate(0) rotate(4deg)}to{transform:translate(-12px,11px) rotate(-3deg)}}@keyframes floatC{0%{transform:translate(0) rotate(-6deg)}to{transform:translate(9px,13px) rotate(3deg)}}@keyframes gearSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cta-bar{display:block;width:100%;background:var(--black);color:var(--cyan);font-weight:900;font-size:clamp(20px,5.6vw,32px);letter-spacing:.01em;text-align:center;padding:clamp(18px,4.6vw,28px) 0;animation:ctaPulse 2.2s ease-in-out infinite}.cta-bar:active{transform:translate(4px,4px);animation:none}@keyframes ctaPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.lang-toggle{position:fixed;top:calc(10px + env(safe-area-inset-top));right:max(10px,calc(50vw - 270px));z-index:95;display:flex;border:2px solid var(--black)}.lang-btn,.lang-toggle{background:var(--black)}.lang-btn{min-width:44px;padding:7px 10px;font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--cyan)}.lang-btn.on{background:var(--cyan);color:var(--black)}.lang-btn:active{transform:translate(1px,1px)}html.kiosk .lang-btn{min-width:58px;padding:10px 14px;font-size:14px}.intro{position:relative;justify-content:space-between;padding:20px var(--pad) 24px;gap:16px}.intro>:not(.poster-shapes){position:relative;z-index:2}.intro-date{font-size:clamp(12px,3.5vw,18px);letter-spacing:.04em;white-space:nowrap}.intro-date sup{font-size:.58em;margin-left:1px}.intro-kicker{font-size:clamp(11px,3vw,15px);padding:7px 15px}.intro-note{width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto;font-size:clamp(10px,2.8vw,13px);text-align:center;opacity:.75;letter-spacing:.06em}.intro-poster-screen{padding:0;gap:0;justify-content:flex-start;background:var(--cyan);height:100dvh;overflow:hidden}.intro-poster{flex:1 1 auto;width:100%;aspect-ratio:768/1087;min-height:0;overflow:hidden}.intro-poster img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top}.intro-panel{flex:0 0 auto;background:var(--black);color:var(--cyan);padding:clamp(13px,3.4vw,20px) var(--pad) calc(clamp(13px, 3.4vw, 20px) + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:clamp(6px,1.7vw,10px)}.intro-panel-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.intro-panel .intro-date{color:var(--cyan);opacity:.9;font-family:var(--font-mono);font-weight:700}.intro-panel .intro-title{font-family:var(--font-kr);font-weight:900;font-size:clamp(34px,9.4vw,54px);line-height:1;letter-spacing:-.035em;color:var(--cyan)}.intro-panel .intro-desc{white-space:pre-line;font-size:clamp(12.5px,3.3vw,16px);font-weight:700;line-height:1.5;opacity:.82;word-break:keep-all}.intro-panel .cta-bar{margin-top:clamp(3px,1.2vw,8px);padding:clamp(15px,3.8vw,22px) 0;background:var(--cyan);color:var(--black)}.intro-panel .intro-note{color:var(--cyan);opacity:.6}.genre{position:relative;padding:22px var(--pad) 30px;gap:18px}.genre>:not(.poster-shapes){position:relative;z-index:2}.genre-head{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(12px,3.4vw,20px)}.genre-head .chip{font-size:clamp(11px,3vw,15px);padding:7px 15px}.genre-title{white-space:pre-line;font-weight:900;font-size:clamp(30px,9.6vw,54px);line-height:1.16;letter-spacing:-.025em}.genre-cards{display:flex;flex-direction:column;gap:clamp(12px,3.4vw,22px)}.film-card{display:flex;min-height:clamp(142px,39vw,210px);background:var(--white);border:4px solid var(--black);box-shadow:7px 7px 0 var(--black);cursor:pointer;transition:transform .07s ease,box-shadow .07s ease}.film-card:active{transform:translate(5px,5px);box-shadow:2px 2px 0 var(--black)}.film-still{position:relative;flex:0 0 34%;border-right:4px solid var(--black);overflow:hidden;background:var(--black)}.film-still img{width:100%;height:100%;object-fit:cover;filter:grayscale(14%) contrast(1.05)}.film-no{position:absolute;top:0;left:0;background:var(--black);color:var(--cyan);padding:5px 9px;font-size:clamp(8px,2.3vw,11px);letter-spacing:.12em}.film-info{flex:1 1;min-width:0;display:flex;flex-direction:column;padding:clamp(10px,3vw,18px) clamp(12px,3.4vw,20px)}.film-en{font-family:var(--font-display);font-size:clamp(9px,2.7vw,14px);letter-spacing:.04em}.film-title{margin-top:3px;font-weight:900;font-size:clamp(20px,6.2vw,34px);line-height:1.08;letter-spacing:-.025em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.film-meta{margin-top:6px;font-size:clamp(8.5px,2.5vw,12px);letter-spacing:.06em;opacity:.72}.film-tagline{margin-top:5px;font-size:clamp(10.5px,3vw,15px);font-weight:700;line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.film-cast{margin-top:auto;align-self:flex-start;padding:4px 11px;border:2px solid var(--black);color:var(--white);font-weight:900;font-size:clamp(10px,2.9vw,14px);letter-spacing:.02em;white-space:nowrap}.genre-foot{padding-top:4px}.capture{position:relative;padding:20px var(--pad) 26px;gap:clamp(10px,2.8vw,18px)}.capture-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.capture-genre{font-weight:900;font-size:clamp(20px,5.6vw,30px);letter-spacing:-.02em;margin-top:8px}.capture-title{font-weight:900;font-size:clamp(27px,8.2vw,46px);line-height:1.14;letter-spacing:-.03em}.capture-desc{font-size:clamp(12.5px,3.5vw,17px);line-height:1.65;font-weight:700;opacity:.82}.viewport{position:relative;width:100%;aspect-ratio:3/4;background:var(--black);border:4px solid var(--black);box-shadow:var(--shadow-hard-lg);overflow:hidden}.viewport img,.viewport video{width:100%;height:100%;object-fit:cover}.viewport video{transform:scaleX(-1)}.viewport-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--cyan);font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-align:center;padding:24px;line-height:2;white-space:pre-line}.frame-corner{position:absolute;inset:16px;pointer-events:none}.frame-corner span{position:absolute;width:34px;height:34px;border:5px solid var(--cyan)}.frame-corner span:first-child{top:0;left:0;border-right:0;border-bottom:0}.frame-corner span:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}.frame-corner span:nth-child(3){bottom:0;right:0;border-left:0;border-top:0}.frame-corner span:nth-child(4){bottom:0;left:0;border-right:0;border-top:0}.countdown{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.45);color:var(--cyan);font-family:var(--font-display);font-size:clamp(110px,34vw,190px);line-height:1}.capture-actions{flex-direction:column;margin-top:auto;padding-top:6px}.capture-actions,.capture-row{display:flex;gap:10px}.capture-row .btn{flex:1 1}.capture-tip{font-family:var(--font-mono);font-size:10.5px;line-height:1.8;opacity:.7}.generating{position:relative;background:var(--black);color:var(--cyan);justify-content:center;align-items:center;gap:clamp(14px,4vw,26px);padding:30px var(--pad);text-align:center;overflow:hidden}.gen-bg{background-size:cover;background-position:50%;opacity:.3;filter:grayscale(30%) contrast(1.05)}.gen-bg,.gen-bg:after{position:absolute;inset:0}.gen-bg:after{content:"";background:rgba(0,0,0,.35)}.generating>:not(.gen-bg){position:relative;z-index:1}.gen-chip{background:var(--cyan);color:var(--black)}.gen-genre{font-weight:900;font-size:clamp(34px,10.5vw,60px);line-height:1.06;letter-spacing:-.03em;color:var(--cyan)}.gen-pct-big{font-family:var(--font-display);font-size:clamp(56px,17vw,96px);line-height:1;color:var(--white)}.gen-status{font-size:clamp(14px,4vw,20px);font-weight:700;line-height:1.55;min-height:3em;max-width:22ch;color:var(--white)}.gen-bar{width:100%;max-width:340px;height:12px;background:rgba(255,255,255,.16)}.gen-bar i{display:block;height:100%;background:var(--cyan);transition:width .35s ease}.gen-note{font-family:var(--font-mono);font-size:clamp(9.5px,2.7vw,12px);line-height:1.9;letter-spacing:.06em;opacity:.65;color:var(--white)}.result{padding:0;gap:0;background:var(--cyan)}.result-top{position:relative;background:var(--black);padding:18px 0 24px}.result-top:after,.result-top:before{content:"";position:absolute;top:0;bottom:0;width:clamp(14px,4vw,22px);background-image:repeating-linear-gradient(180deg,transparent 0 12px,#1c1c1c 12px 26px)}.result-top:before{left:0}.result-top:after{right:0}.result-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:38px clamp(26px,8vw,42px) 16px}.result-head .chip{flex:none;background:var(--cyan);color:var(--black);font-size:clamp(9px,2.5vw,12px);padding:6px 10px}.result-head-right{flex:1 1;min-width:0;text-align:right;word-break:keep-all}.result-head-genre{font-weight:900;font-size:clamp(17px,5vw,28px);line-height:1.15;color:var(--white)}.result-head-en{font-family:var(--font-mono);font-weight:700;font-size:clamp(9px,2.5vw,12px);letter-spacing:.14em;color:var(--cyan);margin-top:5px}.result-poster{position:relative;z-index:1;margin:0 clamp(26px,8vw,42px);border:5px solid var(--white);box-shadow:9px 9px 0 rgba(255,255,255,.18);background:#111}.result-poster img{width:100%;aspect-ratio:3/4;object-fit:cover}.result-poster-tag{position:absolute;left:0;bottom:0;background:var(--cyan);color:var(--black);font-family:var(--font-mono);font-weight:700;font-size:10px;letter-spacing:.1em;padding:6px 11px}.result-quote{position:relative;z-index:1;padding:22px clamp(26px,8vw,42px) 0;text-align:center}.result-quote p{color:var(--white);font-weight:900;font-size:clamp(17px,5vw,25px);line-height:1.5;letter-spacing:-.02em;text-wrap:balance}.result-quote span{display:block;margin-top:12px;font-family:var(--font-mono);font-size:clamp(9.5px,2.7vw,12px);letter-spacing:.12em;color:var(--cyan)}.result-mid{padding:clamp(22px,6vw,34px) var(--pad);gap:13px}.result-mid,.rx-head{display:flex;flex-direction:column}.rx-head{gap:6px;margin-bottom:2px}.rx-head .chip{align-self:flex-start}.rx-no{font-family:var(--font-display);font-size:clamp(38px,11.5vw,64px);line-height:1.02;letter-spacing:-.01em}.rx-names{font-weight:900;font-size:clamp(17px,5vw,26px);letter-spacing:-.02em}.rx-meta{font-family:var(--font-mono);font-weight:700;font-size:clamp(10px,2.9vw,13px);letter-spacing:.06em;opacity:.72}.notes{display:flex;flex-direction:column;gap:10px}.note-tier{display:grid;grid-template-columns:62px 1fr;grid-gap:10px;gap:10px;align-items:baseline}.note-tier b{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em}.note-tier span{font-weight:700;font-size:clamp(13px,3.7vw,17px);line-height:1.5}.formula-row{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-bottom:1px dashed rgba(0,0,0,.25)}.formula-row:last-child{border-bottom:0}.formula-top{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;opacity:.72}.formula-name{font-weight:900;font-size:clamp(14px,4vw,18px)}.formula-name em{font-style:normal;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;opacity:.6;margin-left:6px}.recipe ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:7px}.recipe li{font-size:13.5px;line-height:1.55;font-weight:500}.recipe-note{margin-top:12px;padding-top:10px;border-top:1px dashed rgba(0,0,0,.25);font-size:12px;line-height:1.6;opacity:.8}.prose{font-size:13.5px;line-height:1.75;font-weight:500}.result-bottom{background:var(--black);color:var(--cyan);padding:clamp(24px,7vw,40px) var(--pad) 30px;display:flex;flex-direction:column;gap:18px}.cta-kicker{font-family:var(--font-mono);font-weight:700;font-size:clamp(10px,2.8vw,13px);letter-spacing:.16em}.cta-title{white-space:pre-line;font-weight:900;font-size:clamp(22px,6.6vw,34px);line-height:1.28;letter-spacing:-.025em;color:var(--white);margin-top:10px}.cta-desc{font-size:clamp(12.5px,3.5vw,16px);line-height:1.7;margin-top:12px;opacity:.85}.cta-meta{font-family:var(--font-mono);font-size:clamp(10px,2.8vw,12.5px);line-height:1.9;letter-spacing:.04em;margin-top:14px;opacity:.7}.result-bottom .cta-bar{background:var(--cyan);color:var(--black);animation:none}.result-bottom .cta-bar:active{transform:translate(4px,4px)}.result-actions{flex-direction:column}.result-actions,.result-actions .row{display:flex;gap:10px}.result-actions .row .btn{flex:1 1}.result-actions .btn{background:var(--cyan);color:var(--black);box-shadow:5px 5px 0 rgba(255,255,255,.2)}.result-actions .btn.ghost{background:transparent;color:var(--cyan);border:3px solid var(--cyan);box-shadow:none}.result-actions .save-all{min-height:72px;font-size:21px;font-weight:900}.save-hint{margin:-2px 0 2px;font-size:10.5px;line-height:1.6;letter-spacing:.03em;color:var(--cyan);opacity:.62;word-break:keep-all}.result-foot,.save-hint{text-align:center}.result-foot p{font-size:clamp(9.5px,2.7vw,12px);line-height:1.9;letter-spacing:.04em;opacity:.6}.result-foot p,.toast{font-family:var(--font-mono)}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--black);color:var(--cyan);font-size:12px;letter-spacing:.06em;padding:12px 18px;z-index:100;max-width:90vw;text-align:center}.fade-in{animation:fadeIn .35s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.pick-head{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(10px,3vw,18px)}.pick-head .chip{font-size:clamp(10px,2.8vw,14px);padding:7px 14px}.pick-title{white-space:pre-line;font-weight:900;font-size:clamp(30px,9.6vw,54px);line-height:1.14;letter-spacing:-.03em}.pick-sub{font-size:clamp(12.5px,3.5vw,17px);line-height:1.6;font-weight:500}.pick-sub b{font-weight:900}.pick-foot{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:10px;align-items:stretch}.pick-genre-chip{align-self:flex-start}.stage-pick{padding:22px var(--pad) 30px;gap:clamp(14px,4vw,22px)}.stage-cards{display:flex;flex-direction:column;gap:10px}.stage-card{position:relative;display:flex;align-items:stretch;gap:14px;padding:14px 16px 14px 14px;background:var(--black);color:var(--white);text-align:left;box-shadow:var(--shadow-hard);transition:transform .07s ease,box-shadow .07s ease}.stage-card:active{transform:translate(4px,4px);box-shadow:2px 2px 0 rgba(0,0,0,.35)}.stage-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--g-accent)}.stage-no{flex:none;align-self:center;font-family:var(--font-display);font-size:clamp(22px,6.5vw,34px);color:var(--g-accent);min-width:2.2em;padding-left:6px}.stage-body{display:flex;flex-direction:column;gap:3px;min-width:0}.stage-en{font-family:var(--font-display);font-size:clamp(8.5px,2.5vw,12px);letter-spacing:.16em;opacity:.5}.stage-ko{font-weight:900;font-size:clamp(19px,5.6vw,28px);line-height:1.15;letter-spacing:-.02em}.stage-hint{font-size:clamp(11px,3.1vw,15px);line-height:1.4;opacity:.68;font-weight:500}.situation{padding:22px var(--pad) 30px;gap:clamp(14px,4vw,22px)}.sit-cards{display:flex;flex-direction:column;gap:10px}.sit-card{display:flex;align-items:flex-start;gap:13px;padding:16px;background:var(--white);border:4px solid var(--black);box-shadow:var(--shadow-hard);text-align:left;transition:transform .07s ease,box-shadow .07s ease}.sit-card:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--black)}.sit-no{flex:none;font-family:var(--font-display);font-size:clamp(17px,4.8vw,24px);line-height:1.1;color:var(--g-accent)}.sit-text{font-weight:700;font-size:clamp(14px,4vw,19px);line-height:1.75;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:break-word}.sit-loading{display:flex;flex-direction:column;gap:10px}.sit-skeleton{height:clamp(66px,18vw,92px);border:4px solid var(--black);background:rgba(255,255,255,.35);animation:sitPulse 1.2s ease-in-out infinite}@keyframes sitPulse{0%,to{opacity:.35}50%{opacity:.85}}.sit-note{font-size:11px;opacity:.7;letter-spacing:.04em}.capture-head{gap:10px}.slate{background:var(--black);color:var(--white);padding:13px 15px;display:flex;flex-direction:column;gap:7px;box-shadow:var(--shadow-hard);border-left:6px solid var(--g-accent)}.slate-row{display:grid;grid-template-columns:max-content 1fr;grid-gap:12px;gap:12px;align-items:baseline}.slate-k{font-size:10px;letter-spacing:.14em;opacity:.55}.slate-v{font-weight:900;font-size:clamp(13px,3.7vw,17px);line-height:1.4;word-break:keep-all}.slate-sit{font-weight:500;opacity:.92;line-height:1.7;word-break:keep-all;overflow-wrap:break-word}.name-field{display:flex;flex-direction:column;gap:6px}.name-field span{font-size:10.5px;letter-spacing:.08em;opacity:.72}.name-field input{width:100%;min-height:54px;padding:0 16px;background:var(--white);border:4px solid var(--black);font-family:var(--font-kr);font-weight:900;font-size:18px;color:var(--black)}.name-field input:focus{outline:none;box-shadow:var(--shadow-hard)}.gen-place{font-size:clamp(10px,2.9vw,13px);letter-spacing:.14em;color:var(--cyan);opacity:.7}.film-name{padding:0 clamp(26px,8vw,42px);color:var(--white);font-weight:900;font-size:clamp(26px,7.6vw,40px);line-height:1.2;letter-spacing:-.03em}.film-logline,.film-name{position:relative;z-index:1;word-break:keep-all}.film-logline{padding:10px clamp(26px,8vw,42px) 18px;color:var(--cyan);font-size:clamp(12.5px,3.5vw,16px);line-height:1.6;font-weight:700}.beat{display:grid;grid-template-columns:46px 1fr;grid-gap:12px;gap:12px;padding:8px 0;align-items:baseline}.beat b{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em}.beat p{font-size:clamp(13px,3.7vw,17px);line-height:1.6;font-weight:500;word-break:keep-all}.beat-note{margin-top:8px;font-size:10.5px;opacity:.65}.acts{gap:10px}.acts,.acts-head{display:flex;flex-direction:column}.acts-head{gap:8px;margin-bottom:2px}.acts-head .chip{align-self:flex-start}.acts-title{font-weight:900;font-size:clamp(19px,5.4vw,26px);letter-spacing:-.02em}.act-card{background:var(--white);border:4px solid var(--black);border-left:12px solid var(--act-color,var(--black));box-shadow:var(--shadow-hard);padding:13px 15px;display:flex;flex-direction:column;gap:5px}.act-top{display:flex;align-items:baseline;gap:9px}.act-no{font-family:var(--font-display);font-size:clamp(17px,4.8vw,23px)}.act-label{font-weight:900;font-size:clamp(14px,4vw,18px)}.act-tier{margin-left:auto;font-size:9.5px;letter-spacing:.14em;opacity:.55}.act-mood{font-size:clamp(11px,3.1vw,13.5px);font-weight:700;opacity:.62;letter-spacing:-.01em;margin-top:-2px}.act-scent{font-weight:900;font-size:clamp(16px,4.6vw,21px);letter-spacing:-.02em}.act-scent em{font-style:normal;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;opacity:.55;margin-left:7px}.act-amount{font-size:11px;letter-spacing:.06em;opacity:.72}.act-notes{font-size:10.5px;letter-spacing:.02em;opacity:.6}.ticket{position:relative;background:var(--white);border:4px solid var(--black);box-shadow:var(--shadow-hard);padding:16px 18px;display:flex;flex-direction:column;gap:10px}.ticket:after,.ticket:before{content:"";position:absolute;top:50%;width:22px;height:22px;background:var(--cyan);border:4px solid var(--black);border-radius:50%;transform:translateY(-50%)}.ticket:before{left:-15px}.ticket:after{right:-15px}.ticket-rule{height:0;border-top:3px solid var(--black)}.ticket-rule.dashed{border-top-style:dashed;border-top-width:2px}.ticket-head{text-align:center;font-size:clamp(11px,3.1vw,14px);line-height:1.7;letter-spacing:.1em;font-weight:700}.ticket-rows{display:flex;flex-direction:column;gap:5px}.ticket-rows>div{display:grid;grid-template-columns:66px 1fr;grid-gap:10px;gap:10px}.ticket-rows dt{font-size:10.5px;letter-spacing:.06em;opacity:.6}.ticket-rows dd{margin:0;font-size:clamp(11.5px,3.3vw,14px);font-weight:700;word-break:keep-all}.ticket-spec{display:flex;flex-direction:column;gap:5px}.ticket-spec-h{font-size:11px;letter-spacing:.08em;margin-bottom:2px}.ticket-spec-row{display:flex;justify-content:space-between;gap:10px;font-size:clamp(10.5px,3vw,13px)}.ticket-spec-row span:last-child{font-weight:700;text-align:right}html[lang=en] .ticket-spec-row{font-size:clamp(9.5px,2.6vw,11.5px);letter-spacing:.02em}html[lang=en] .ticket-rows{font-size:11.5px;letter-spacing:.02em}.ticket-foot{text-align:center;font-size:10.5px;line-height:1.7;letter-spacing:.04em;opacity:.7}.opening-card{background:rgba(0,0,0,.055);border-left:12px solid var(--black);padding:11px 14px 13px;display:flex;flex-direction:column;gap:5px}.opening-label{font-size:9.5px;letter-spacing:.14em;opacity:.55}.opening-text{font-size:clamp(13px,3.7vw,16px);line-height:1.75;font-weight:600;letter-spacing:-.01em;word-break:keep-all}.acts-sub{font-size:clamp(11.5px,3.2vw,14px);line-height:1.55;font-weight:500;opacity:.78}.act-beat{font-size:clamp(13.5px,3.8vw,17px);line-height:1.75;font-weight:600;letter-spacing:-.01em;word-break:keep-all;padding:6px 0 11px;border-bottom:1px dashed rgba(0,0,0,.22);margin-bottom:9px}.act-beat-empty{font-weight:500;opacity:.45}.act-scent-block{display:flex;flex-direction:column;gap:4px}.act-scent-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.act-why{margin-top:7px;padding:7px 0 1px 10px;border-left:3px solid var(--act-color,var(--black));font-size:clamp(12px,3.4vw,15px);line-height:1.65;font-weight:500;letter-spacing:-.01em;word-break:keep-all;opacity:.85}.still-fallback{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-size:clamp(30px,9vw,48px);opacity:.9}html.kiosk,html.kiosk body{-webkit-user-select:none;-moz-user-select:none;user-select:none;overscroll-behavior:none}html.kiosk input,html.kiosk textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}html.kiosk-locked,html.kiosk-locked *{cursor:none!important}html.kiosk ::-webkit-scrollbar{width:0;height:0}.cta-bar.pulse{animation:ctaPulse 2.2s ease-in-out infinite,kioskCtaGlow 2.2s ease-in-out infinite}@keyframes kioskCtaGlow{0%,to{color:var(--cyan)}50%{color:#ffffff}}.idle-warn{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:11px 18px;background:var(--black);color:var(--cyan);font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.04em;white-space:nowrap;box-shadow:var(--shadow-hard)}.idle-warn b{font-family:var(--font-display);font-size:20px;line-height:1}.exit-hotspot{position:fixed;right:0;bottom:0;z-index:90;width:74px;height:74px;display:grid;place-items:center;-webkit-tap-highlight-color:transparent}.exit-ring{width:46px;height:46px;border-radius:50%;opacity:0;transition:opacity .12s ease}.exit-ring.on{opacity:1}.name-touch{width:100%;min-height:56px;padding:0 16px;background:var(--white);border:3px solid var(--black);color:rgba(0,0,0,.42);font-weight:700;font-size:17px;text-align:left;box-shadow:var(--shadow-hard)}.name-touch.has{color:var(--black)}.name-touch:active{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--black)}.osk{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding:10px 8px;background:var(--black);box-shadow:var(--shadow-hard)}.osk-row{display:flex;gap:5px;justify-content:center}.osk-key{flex:1 1;min-width:0;min-height:48px;background:var(--white);color:var(--black);font-weight:700;font-size:18px;line-height:1;border-radius:3px}.osk-key:active{background:var(--cyan);transform:translateY(2px)}.osk-wide{flex:1.5 1;font-size:13px;background:#d8d8d8}.osk-bottom .osk-key{font-size:14px;min-height:52px}.osk-mode{flex:1.2 1;background:#d8d8d8}.osk-space{flex:3 1}.osk-done{flex:1.4 1;background:var(--cyan);color:var(--black);font-weight:900}.result-actions .print-btn{min-height:74px;font-size:22px;font-weight:900;letter-spacing:.02em}.print-msg{margin-top:-2px;padding:9px 12px;font-size:11px;line-height:1.6;letter-spacing:.04em;word-break:keep-all;white-space:normal}.print-msg.ok{background:rgba(1,190,255,.14);color:var(--cyan);border:2px solid rgba(1,190,255,.5)}.print-msg.bad{background:rgba(255,255,255,.1);color:#fff;border:2px solid rgba(255,255,255,.45)}