:root{--ink:#292745;--muted:#827f91;--purple:#7456d6;--purple-dark:#5941ae;--coral:#ff826e;--sun:#ffda68;--paper:#f8f5f1;--line:#e8e2df;--card:#fff;--radius:24px;--shadow:0 18px 55px rgba(41,39,69,.065)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-rounded,"Avenir Next","Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}body:before{content:"";position:fixed;left:-170px;top:260px;width:380px;height:380px;border:80px solid #f1ebe5;border-radius:50%;z-index:-1;opacity:.4}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}input,textarea,select{outline-color:var(--purple)}h1,h2,h3,p{margin-top:0}h1,h2{line-height:1.12;letter-spacing:-.045em}a{color:var(--purple-dark)}.shell{max-width:1190px;padding:0 28px;margin:auto;min-height:100vh;display:flex;flex-direction:column}.site-header{display:flex;align-items:center;justify-content:space-between;height:100px;border-bottom:1px solid #e9e3df;gap:16px}.brand{border:none;background:none;color:var(--ink);font-size:24px;font-weight:900;letter-spacing:-1.35px;display:flex;align-items:center;gap:12px;padding:0;text-align:left}.brand em{font-size:.76em;color:var(--purple);font-weight:650}.brand-dot{color:var(--coral)}.brand-mark{width:46px;height:46px;border-radius:15px;background:var(--purple);color:white;display:grid;place-items:center;font-size:30px;font-weight:900;box-shadow:7px 6px 0 #e8dcfa;transform:rotate(-8deg)}.header-right{display:flex;align-items:center;gap:28px}.header-caption{font-size:13px;color:#95909a}.nav-account{background:transparent;border:1px solid #ddd6df;padding:10px 18px;border-radius:100px;font-weight:750;color:var(--ink);max-width:175px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-account:hover{border-color:var(--purple)}main{flex:1}.site-footer{border-top:1px solid #e9e3df;padding:23px 0 30px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#a6a0a8}.loading{padding:90px;text-align:center;color:var(--muted)}
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:60px;padding:73px 0 85px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;font-size:11px;font-weight:900;color:var(--purple);letter-spacing:2px}.eyebrow:before{content:"";display:inline-block;height:8px;width:8px;border-radius:50%;background:var(--coral)}.hero h1{font-size:clamp(46px,5.5vw,75px);max-width:640px;margin:23px 0 19px;font-weight:950;letter-spacing:-.065em}.hero h1 .squiggle{color:var(--purple);position:relative;white-space:nowrap}.hero h1 .squiggle:after{content:"";position:absolute;bottom:1px;left:4px;right:0;height:8px;border-top:4px solid var(--coral);border-radius:60% 45%;transform:rotate(-3deg)}.hero-description{max-width:470px;color:#757080;font-size:17px;line-height:1.75}.how{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}.how span{font-size:12px;background:#eee8e8;border-radius:100px;padding:9px 13px;font-weight:700;color:#6e667a}.how b{color:var(--purple);margin-right:5px}.mini-art{position:relative;max-width:450px;height:225px;margin:34px 0 0 12px}.art-sheet{position:absolute;width:176px;height:180px;border-radius:12px;background:#fff;box-shadow:0 10px 25px rgba(41,39,69,.10);display:grid;place-items:center;border:1px solid #eee}.art-sheet:nth-child(1){left:12px;top:26px;transform:rotate(-15deg)}.art-sheet:nth-child(2){left:116px;top:5px;transform:rotate(4deg)}.art-sheet:nth-child(3){left:237px;top:24px;transform:rotate(14deg)}.art-sheet svg{width:112px;height:112px}.art-paper-note{position:absolute;left:37px;bottom:8px;padding:8px 15px;border-radius:8px;background:var(--sun);font-size:12px;font-weight:900;transform:rotate(-4deg);box-shadow:0 4px 8px #a36d2c22}
.setup-card,.panel,.modal-card{background:var(--card);border-radius:26px;border:1px solid #eee7e5;box-shadow:var(--shadow)}.setup-card{padding:32px;position:relative}.setup-card:before{content:"✳";color:var(--sun);position:absolute;font-size:48px;top:-37px;right:35px;transform:rotate(20deg)}.card-label{font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:950;color:var(--purple);margin-bottom:14px}.setup-card h2,.panel h2{font-size:30px;letter-spacing:-1.1px;margin-bottom:10px}.muted{color:var(--muted)}.small{font-size:13px}.field{margin:20px 0}.field label{display:block;font-size:12px;font-weight:900;margin:0 0 8px;color:#5c576b}.field input,.field select,.field textarea,.input{display:block;width:100%;border:1.5px solid #e5dee7;background:#fff;color:var(--ink);border-radius:12px;padding:13px 15px;min-height:50px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #7456d622;outline:none}.field input::placeholder{color:#b6afba}.color-dots{display:flex;gap:10px;flex-wrap:wrap}.color-dot{width:31px;height:31px;display:inline-block;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px #ded9e0;position:relative}.color-dot.selected{box-shadow:0 0 0 2px var(--ink)}.color-dot.selected:after{content:"✓";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:15px;color:#fff;font-weight:900}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 20px;border-radius:13px;border:1.5px solid transparent;font-weight:850;line-height:1.1;min-height:48px;transition:transform .15s,background .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-primary{background:var(--purple);color:white;box-shadow:0 5px 12px #7456d62f}.btn-primary:hover{background:var(--purple-dark)}.btn-secondary{background:#f2edf9;border-color:#e9e0f9;color:#6246bf}.btn-outline{background:#fff;border-color:#e6deea;color:#6b6076}.btn-warm{background:var(--sun);color:var(--ink)}.btn-danger{background:#fff1f1;color:#c24651}.btn-block{width:100%}.btn-sm{padding:8px 12px;min-height:36px;border-radius:10px;font-size:13px}.or-divider{display:flex;align-items:center;gap:13px;font-weight:900;font-size:11px;color:#ada5b0;margin:24px 0}.or-divider:before,.or-divider:after{content:"";height:1px;flex:1;background:#eee8ed}.join-line{display:flex;gap:9px}.join-line input{flex:1;min-width:0;letter-spacing:2px;text-transform:uppercase;font-weight:850}.room-note{color:#aaa3ad;font-size:12px;text-align:center;margin:12px 0 0}.hint{background:#f8f4ff;padding:12px 14px;border-radius:12px;color:#726588;font-size:13px;margin:20px 0 0}.hidden{display:none!important}
.page{max-width:970px;margin:40px auto 80px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px;flex-wrap:wrap}.page-head h1{font-size:clamp(34px,4.5vw,48px);margin:9px 0}.page-head p{margin:0}.panel{padding:28px;margin-bottom:20px}.room-code{font-size:23px;letter-spacing:4px;font-weight:950;color:var(--purple)}.invite-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#f8f6fb;border:1px dashed #d6cbed;border-radius:15px;padding:15px 18px;margin:20px 0}.invite-bar p{font-size:12px;margin:0;color:#8b8096}.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:24px 0}.player{background:#fcfaf9;border:1px solid #eee8e7;padding:13px;display:flex;gap:10px;align-items:center;border-radius:14px;min-width:0}.player-name{font-size:14px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-meta{font-size:11px;color:var(--muted)}.avatar{height:40px;width:40px;flex-shrink:0;border-radius:13px;object-fit:cover;display:grid;place-items:center;color:#fff;font-weight:950;font-size:19px;text-transform:uppercase}.status-marker{margin-left:auto;color:var(--purple);font-size:17px;font-weight:900}.pill{border-radius:99px;background:#f1eafb;color:#6d51bf;font-size:11px;padding:5px 10px;font-weight:900}.instructions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.instruction{background:#f8f6fb;border-radius:16px;padding:20px}.instruction .number{background:#fff;color:var(--purple);font-weight:950;display:grid;place-items:center;height:28px;width:28px;border-radius:50%;margin-bottom:12px}.instruction strong{font-size:14px}.instruction p{font-size:13px;color:#888095;line-height:1.5;margin:7px 0 0}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.game-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px}.progress-bar{height:8px;background:#ece6ed;border-radius:100px;margin:22px 0 25px;overflow:hidden}.progress-fill{height:100%;background:var(--purple);transition:width .3s;border-radius:100px}.timer{background:#fff3e2;color:#9f6d24;border-radius:15px;padding:12px 19px;min-width:100px;text-align:center;font-size:22px;font-weight:950;font-variant-numeric:tabular-nums}.timer.urgent{color:#b3404b;background:#ffe9eb}.game-task{font-size:27px;font-weight:900;letter-spacing:-1px;margin:6px 0}.prompt-card{background:#fff8e5;border:1px solid #ffedc5;border-radius:17px;padding:20px 25px;margin:20px 0;color:#4f4162;font-size:22px;font-weight:800;overflow-wrap:anywhere}.prompt-card .meta{font-size:11px;letter-spacing:1px;color:#a88740;text-transform:uppercase;font-weight:900;margin-bottom:9px}.reference-drawing{background:white;border:1px solid #e7e0e3;border-radius:16px;padding:10px;max-width:600px;margin:17px 0}.reference-drawing img{width:100%;display:block;max-height:360px;object-fit:contain}.game-input{font-size:20px!important;min-height:80px!important}.canvas-frame{border:1.5px solid #e4dce4;border-radius:16px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px #fff;margin-top:14px}.drawing-canvas{display:block;width:100%;height:auto;aspect-ratio:5/3;touch-action:none;cursor:crosshair}.drawing-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:15px 0}.tools-left,.tools-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tool{padding:9px 12px;min-height:38px;min-width:38px;border:1px solid #e9e3e9;border-radius:10px;color:#665b72;background:#fff;font-weight:800;font-size:13px}.tool.active{background:#ede6fa;border-color:#b9a8e7;color:#6545c6}.paint-dot{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #d0cad0}.paint-dot.active{box-shadow:0 0 0 2px var(--purple)}.wait-icon{width:82px;height:82px;margin:8px auto 20px;border-radius:26px;background:#f2eafa;display:grid;place-items:center;font-size:34px;color:#7256c6;transform:rotate(-5deg)}.wait-card{text-align:center;padding:60px 32px}.wait-card h2{font-size:32px}.wait-card p{max-width:430px;margin:12px auto 23px;color:var(--muted)}.wait-count{font-weight:900;color:var(--purple);font-size:14px}.reveal-intro{text-align:center;padding:24px 0}.reveal-intro h1{font-size:48px}.chain{padding:24px;margin:20px 0}.chain-top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.chain-top h2{font-size:25px;margin:0}.steps{display:flex;flex-direction:column;align-items:center;margin:19px 0}.step{width:min(100%,630px);padding:17px;border:1px solid #e9e3e4;border-radius:16px;background:#fff;text-align:center}.step p{font-weight:850;font-size:21px;line-height:1.45;margin:13px 0;overflow-wrap:anywhere}.step img{max-width:100%;max-height:390px;object-fit:contain;border-radius:8px}.step-label{font-size:11px;color:#998fa0;font-weight:850;letter-spacing:.7px;text-transform:uppercase}.step-arrow{color:#baaccb;font-size:26px;line-height:1.4}.gallery-note{color:var(--muted);font-size:13px;text-align:center}.history-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #eee7eb;padding:18px 0}.history-row:first-of-type{border-top:0}.empty{text-align:center;padding:45px 15px;color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(35,29,57,.49);display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}.modal-card{width:min(100%,480px);max-height:95vh;overflow:auto;padding:30px;box-shadow:0 30px 100px #19122340;position:relative}.modal-card h2{font-size:31px}.modal-close{position:absolute;right:18px;top:16px;border:none;background:#f2edf4;border-radius:50%;height:34px;width:34px;font-size:22px;color:#70637c}.tabs{display:flex;background:#f4f0f5;border-radius:12px;padding:4px;gap:4px;margin:23px 0}.tabs button{flex:1;border:none;padding:12px;background:transparent;border-radius:10px;color:#857c8c;font-weight:900}.tabs button.active{color:var(--purple);background:white;box-shadow:0 1px 5px #28203314}.profile-avatar{width:72px;height:72px;font-size:26px;border-radius:22px;margin-bottom:12px}.toast{z-index:200;position:fixed;right:24px;bottom:26px;background:#342f4f;color:#fff;padding:14px 20px;border-radius:13px;box-shadow:0 12px 40px #29243b30;max-width:min(400px,calc(100vw - 36px));font-size:13px;font-weight:850}.helper-link{border:none;background:none;color:var(--purple);font-weight:800;padding:5px}.center{text-align:center}.flex-between{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
@media(max-width:900px){.hero{gap:30px;grid-template-columns:1fr 1fr}.hero h1{font-size:52px}.art-sheet:nth-child(3){left:195px}.mini-art{transform:scale(.87);transform-origin:left top}.header-caption{display:none}}@media(max-width:700px){.shell{padding:0 16px}.site-header{height:78px}.brand{font-size:19px;letter-spacing:-1px;gap:9px}.brand-mark{height:38px;width:38px;font-size:24px;border-radius:12px}.nav-account{padding:9px 11px;font-size:12px;max-width:105px}.hero{grid-template-columns:1fr;gap:20px;padding:50px 0}.hero h1{font-size:clamp(43px,10vw,62px);max-width:500px}.mini-art{margin-top:20px;height:190px}.setup-card{padding:25px}.site-footer{flex-direction:column;gap:4px}.page{margin:26px auto 60px}.panel{padding:20px}.instructions{grid-template-columns:1fr}.instruction{display:flex;align-items:center;gap:14px;padding:14px}.instruction .number{margin:0;flex-shrink:0}.instruction p{margin:3px 0 0}.game-task{font-size:23px}.drawing-tools{gap:10px}.game-head{align-items:flex-start}.timer{font-size:18px;min-width:80px}.reveal-intro h1{font-size:35px}.step p{font-size:18px}.player-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.player{padding:10px}.player-name{font-size:12px}.avatar{width:34px;height:34px;font-size:16px}.room-code{font-size:19px}.join-line{flex-wrap:wrap}.join-line .btn{width:100%}}@media print{body{background:white}.site-header,.site-footer,.page-head .actions,.btn,.nav-account,.game-task,.room-note,.gallery-note{display:none!important}.chain{break-inside:avoid;box-shadow:none}.step{break-inside:avoid}.shell{max-width:none}.page{margin:0}}
