@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#263f36;background:#f8f8f4;font-synthesis:none;--green:#214b3e;--ink:#203e34;--muted:#7c887e;--border:#e4e8df;--cream:#f8f8f4;--lime:#eaf0dc;--orange:#e9864a}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.6}button,input{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #81a58e}img{max-width:100%;object-fit:cover}svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}p{line-height:1.7;color:#79847b}h1{font-size:42px;line-height:1.18;letter-spacing:-1.8px;font-weight:750}h2{font-size:25px;letter-spacing:-.85px;line-height:1.3}h3{font-size:17px;letter-spacing:-.3px}button{transition:background .18s,transform .18s,color .18s}button:active:not(:disabled){transform:translateY(1px)}.app-shell{min-height:100vh;display:flex}.sidebar{width:230px;flex:none;padding:35px 24px 24px;border-right:1px solid var(--border);position:fixed;left:0;top:0;bottom:0;display:flex;flex-direction:column;background:#fdfdfa;z-index:10}.brand{display:flex;gap:11px;align-items:center;font-size:29px;letter-spacing:-1.5px;font-weight:650;color:#254b3b}.brand-mark{height:44px;width:44px;display:inline-flex;background:var(--green);border-radius:13px;color:#e4f2ca;font-size:43px;line-height:1;justify-content:center;align-items:center;font-weight:500;letter-spacing:-3px;padding-right:3px}.brand-small{display:block;font-size:8px;letter-spacing:3.7px;padding-top:1px;color:#8a9486}.nav-label{margin:57px 0 15px 11px;font-size:9px;color:#9caa9a;font-weight:600;letter-spacing:1.25px}.sidebar nav{display:grid;gap:8px}.sidebar nav button{display:flex;align-items:center;gap:13px;text-align:left;font-size:13px;padding:13px 15px;border-radius:9px;color:#768375;font-weight:500}.sidebar nav svg{width:19px;height:19px;stroke-width:1.6}.sidebar nav button.active{background:#eaf0e0;color:#2c513e}.nav-dot{display:none;margin-left:auto;width:5px;height:5px;border-radius:50%;background:var(--green)}.active .nav-dot{display:block}.sidebar-note{margin-top:auto;padding:21px 17px 18px;background:#f1f2e7;border-radius:13px;position:relative;overflow:hidden}.tiny-pieces{display:flex;gap:7px;color:#9caa80;transform:rotate(-10deg);margin-bottom:18px}.tiny-pieces svg:last-child{color:#d99c70;margin-top:13px;width:17px}.sidebar-note h3{font-size:16px;line-height:1.45;letter-spacing:-.4px}.sidebar-note p{font-size:11px;line-height:1.8;margin-top:12px}.sidebar-note button{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;padding:0;margin-top:17px}.sidebar-bottom{font-size:10px;color:#7b8a77;margin:27px 2px 0}.status-dot{width:6px;height:6px;display:inline-block;background:#709268;border-radius:50%;margin-right:7px}.version{display:block;font-size:8px;letter-spacing:1.4px;color:#aab1a5;margin:16px 0 0 13px}.main-wrap{margin-left:230px;flex:1;min-width:0}.topbar{height:83px;border-bottom:1px solid var(--border);padding:0 42px;display:flex;align-items:center;justify-content:space-between;background:#fcfcf9}.breadcrumb{display:flex;gap:17px;font-size:11px;color:#9aa095;align-items:center}.breadcrumb strong{font-weight:500;color:#52644f}.top-actions{display:flex;gap:15px;align-items:center}.username{font-size:12px;font-weight:500}.icon-btn{padding:9px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#75816f}.icon-btn:hover{background:#eef0e5}.text-btn{font-size:12px;font-weight:550;display:inline-flex;align-items:center;gap:7px}.btn{background:var(--green);color:#fff;padding:14px 20px;border-radius:8px;font-size:12px;font-weight:550;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:46px;white-space:nowrap}.btn:hover{background:#32644f}.btn.small{padding:10px 14px;min-height:37px;font-size:11px}.btn.secondary{background:#eef1e8;color:var(--green);border:1px solid #dde4d6}.btn.secondary:hover{background:#e2ead7}.btn.wide{width:100%}.content{max-width:1550px;padding:33px 42px 0;margin:auto}.hero{display:grid;grid-template-columns:1.1fr 1fr;background:#eff1e7;border:1px solid #e9ecdf;border-radius:16px;min-height:361px;overflow:hidden;padding:39px 36px 32px;position:relative;gap:10px}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:600;display:block;color:#718366}.eyebrow .status-dot{width:5px;height:5px}.hero h1{font-size:39px;line-height:1.18;margin:21px 0 17px;letter-spacing:-1.9px;font-weight:750}.hero h1 em{font-style:normal;color:#739168}.hero p{font-size:12px;line-height:1.85;color:#7d8875}.hero .btn{margin-top:24px;padding:13px 17px}.hero-meta{display:flex;gap:12px;align-items:center;margin-top:20px;font-size:9px;color:#8d9683}.hero-meta span{display:flex;align-items:center;gap:5px}.hero-meta i{width:2px;height:2px;background:#a5ad99;border-radius:50%}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 16px 8px 25px;isolation:isolate}.hero-art:before{content:"";position:absolute;width:320px;height:320px;background:#e0e6cb;border-radius:50%;z-index:-1}.art-photo{width:100%;max-width:365px;aspect-ratio:1.33;position:relative;transform:rotate(-6deg);border:9px solid #fffef5;box-shadow:0 15px 28px #3f583523;border-radius:6px}.art-photo img{height:100%;width:100%}.puzzle-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#fff8;stroke-width:1.6;filter:drop-shadow(0 1px 1px #18312a)}.art-label{position:absolute;left:6px;top:-4px;background:#f9faf0;padding:8px 12px;border-radius:20px;font-size:8px;letter-spacing:.5px;z-index:2;transform:rotate(-5deg);box-shadow:0 4px 15px #3457330a}.floating-note{position:absolute;bottom:12px;right:-6px;transform:rotate(4deg);display:flex;align-items:center;gap:12px;padding:12px 17px;background:#fff;border:1px solid #eee;border-radius:10px;box-shadow:0 10px 24px #374e2022;font-size:10px}.floating-note strong,.floating-note span:not(.mini-avatar){display:block}.floating-note div span{font-size:9px;color:#9aa18f;margin-top:4px}.floating-note svg{color:#d79862}.mini-avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#d5e1cc;font-size:13px;color:#49613c}.art-star{position:absolute;color:#c3a274;font-size:53px;top:-9px;right:0;transform:rotate(-15deg)}.gallery-section{margin-top:37px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:15px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:9px;color:#9aab8f}.section-heading h2{font-size:23px;letter-spacing:-.7px}.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e5e8df;border-radius:7px;height:37px;padding:0 11px;min-width:190px;color:#9ba592}.search input{border:0;background:transparent;font-size:10px;width:145px;outline:none;color:#3b513e}.category-row{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0}.category-row button{padding:9px 14px;border-radius:7px;border:1px solid #e3e7dd;background:#fffefb;color:#8a9682;font-size:10px;display:flex;align-items:center;gap:6px;white-space:nowrap}.category-row button.selected{background:#294e3e;color:#fff;border-color:#294e3e}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.puzzle-card{text-align:left;padding:0;border-radius:11px;overflow:hidden;background:#fff;border:1px solid #e5e7df;box-shadow:0 3px 8px #1a3f2503}.puzzle-card:hover{box-shadow:0 8px 24px #24423215;transform:translateY(-4px)}.card-img{position:relative;aspect-ratio:1.65;overflow:hidden}.card-img img{width:100%;height:100%;transition:transform .5s}.puzzle-card:hover img{transform:scale(1.035)}.card-badge{position:absolute;left:12px;top:12px;background:#fffef6e8;color:#5a684d;border-radius:4px;padding:5px 7px;font-size:6px;letter-spacing:.8px}.card-play{position:absolute;right:13px;bottom:13px;border-radius:50%;background:#ffffffe0;height:34px;width:34px;display:grid;place-items:center;opacity:0;transition:opacity .2s}.puzzle-card:hover .card-play{opacity:1}.card-body{padding:16px 17px 17px;display:flex;align-items:center;justify-content:space-between;gap:8px}.card-category{font-size:8px;color:#94a387;letter-spacing:.7px}.card-body h3{font-size:14px;letter-spacing:-.2px;margin-top:5px;color:#40553c;font-weight:650}.card-body p{display:flex;align-items:center;gap:5px;font-size:8px;color:#9ba592;margin-top:10px;white-space:nowrap}.card-body p span{margin:0 2px}.card-arrow{height:27px;width:27px;display:grid;place-items:center;border:1px solid #e7ebde;border-radius:50%;color:#8e9c80;margin-top:14px}.upload-card{border:1px dashed #becdb1;background:#f0f3e8;border-radius:11px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;min-height:260px}.upload-card>span{color:#8fa478;width:53px;height:53px;display:grid;place-items:center;border:1px dashed #b9c9aa;border-radius:14px;margin-bottom:16px}.upload-card h3{font-size:20px;line-height:1.3;letter-spacing:-.6px}.upload-card p{font-size:10px;line-height:1.8;margin:11px 0 18px;color:#8d9b7e}.upload-card b{font-size:10px;display:flex;align-items:center;gap:7px;font-weight:600}.how-row{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 0;gap:30px;margin-top:28px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.how-row>div{position:relative;padding-left:40px}.how-row>div>span{position:absolute;left:0;top:2px;color:#b1bba2;font-family:Manrope;font-size:18px;font-weight:500}.how-row h3{font-size:12px;margin-bottom:7px}.how-row p{font-size:10px}footer{display:flex;align-items:center;justify-content:space-between;padding:26px 0;font-size:11px;color:#89957d;gap:15px}footer span,footer a{font-size:9px;color:#a0aa95}.avatar{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e2ead5;font-size:11px;font-weight:600;color:#527046;flex-shrink:0}.avatar.large{width:65px;height:65px;font-size:19px}.notification{position:relative}.notification b{position:absolute;right:2px;top:1px;background:#dd8655;color:#fff;font-size:8px;min-width:14px;height:14px;display:grid;place-items:center;border-radius:50%}.count{font-size:9px;background:#dfe8ce;border-radius:20px;min-width:19px;height:19px;display:inline-flex;justify-content:center;align-items:center;margin-left:auto;padding:0 5px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0 35px}.page-title h1{margin:15px 0;font-size:38px}.page-title p{font-size:13px}.page-title>svg{color:#bbcaad}.panel{background:#fffefa;border:1px solid var(--border);border-radius:13px;padding:26px;margin-bottom:24px}.panel h2{font-size:20px;margin-bottom:20px}.friend-add{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.friend-add>div{flex:1;min-width:200px}.friend-add p{font-size:11px;max-width:330px;margin-top:8px}.input-icon{display:flex;border:1px solid #dfe6d7;padding:0 12px;align-items:center;border-radius:8px;color:#8a9d78}.input-icon input{border:0;padding:12px 8px;width:155px;background:transparent;color:var(--ink)}.person-row,.invite-row{display:flex;align-items:center;gap:13px;padding:13px 0;border-top:1px solid var(--border)}.person-row strong{font-size:13px;flex:1}.invite-row>div{flex:1}.invite-row strong{font-size:13px}.invite-row p{font-size:10px;margin-top:5px}.list-title{font-size:21px;margin:35px 0 20px}.list-title span{font-size:13px;color:#98a38d;margin-left:8px}.friends-grid,.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.friend-card{text-align:center}.friend-card h3{margin:17px 0 8px}.friend-card p{font-size:11px;margin-bottom:20px}.pending-list{display:flex;align-items:center;gap:10px;font-size:11px;color:#8c9982;padding:14px}.empty{text-align:center;padding:55px 25px;color:#8b9d7b}.empty>svg{margin-bottom:18px}.empty h3{color:#395234;font-size:22px;margin-bottom:10px}.empty p{font-size:12px;margin-bottom:20px}.room-card{padding:0;overflow:hidden;text-align:left}.room-card>img,.room-placeholder{width:100%;height:175px}.room-placeholder{background:#edf1e4;display:grid;place-items:center;color:#b8c8a5}.room-card-copy{padding:20px}.pill{font-size:8px;padding:5px 8px;background:#f1ede2;border-radius:5px;color:#a38c5c;display:inline-block}.pill.done{color:#628a50;background:#e7f0dd}.room-card h3{margin-top:12px}.room-card p{font-size:10px;margin-top:8px}.room-open{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:20px}.back-link{display:flex;align-items:center;gap:6px;font-size:11px;color:#869679;padding:0;margin:8px 0 25px}.lobby{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;margin-top:25px}.lobby-image{border-radius:14px;overflow:hidden;position:relative;align-self:start}.lobby-image>img{width:100%;min-height:400px}.lobby-image-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#142922c9);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:50px 22px 22px;font-size:12px}.lobby-image-label b{font-size:10px}.lobby-info h1{font-size:31px;margin:15px 0;letter-spacing:-1px}.lobby-info>p{font-size:12px}.member-slots{margin:22px 0}.member{display:flex;align-items:center;gap:11px;padding:11px 0;font-size:12px}.member strong{font-size:12px}.member>svg:last-child{margin-left:auto;color:#8ba877}.member.vacant{color:#a3ae98;font-size:11px}.vacant .avatar{background:none;border:1px dashed #c5d0b7}.owner-badge{font-size:8px;background:#e8eddf;color:#869779;padding:4px 7px;border-radius:4px;margin-left:auto}.lobby-invite{border-top:1px solid var(--border);margin-top:25px;padding-top:22px}.lobby-invite h3{font-size:13px;margin-bottom:12px}.lobby-invite p{font-size:11px}.invite-option{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:11px 0;border-bottom:1px solid #edf0e7}.soft-message{display:flex;gap:10px;align-items:center;font-size:11px;background:#eaf0e1;padding:16px;border-radius:8px}.preparing{text-align:center;max-width:720px;margin:45px auto;padding:65px 45px}.preparing>svg{color:#9bb283;margin-bottom:30px}.preparing h1{font-size:36px;letter-spacing:-1px;margin:18px 0}.preparing p{max-width:440px;font-size:13px;margin:auto}.loading-track{height:5px;background:#edf0e3;max-width:320px;margin:30px auto 0;border-radius:10px;overflow:hidden}.loading-track span{display:block;width:40%;height:100%;background:#96ad7f;animation:loading 1.5s ease-in-out infinite}.error-banner{margin:15px 42px;padding:13px 17px;background:#fcebe2;color:#a85b3f;border-radius:8px;font-size:12px;display:flex;justify-content:space-between;align-items:center}.error-banner button{display:flex}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);background:#214c3e;color:#fff;padding:15px 19px;border-radius:11px;box-shadow:0 10px 40px #16332335;font-size:12px;display:flex;align-items:center;gap:12px;z-index:200;max-width:90vw}.toast button{color:#d9e9d1;display:flex}.toast-enter-active,.toast-leave-active{transition:opacity .2s,translate .2s}.toast-enter-from,.toast-leave-to{opacity:0;translate:0 10px}.modal-backdrop{position:fixed;inset:0;background:#1b342d72;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;display:flex;align-items:center;justify-content:center;padding:25px;overflow-y:auto}.modal{background:#fdfdf8;border:1px solid #e8ece0;box-shadow:0 20px 90px #17362d40;border-radius:19px;padding:39px;width:460px;position:relative;max-height:calc(100dvh - 50px);overflow:auto;flex-shrink:0}.close-modal{position:absolute;right:14px;top:14px;z-index:2;background:#ffffffe0}.modal>.brand-mark{margin-bottom:26px}.modal>.eyebrow{margin-bottom:13px}.modal h2{font-size:28px;margin:5px 0 14px;letter-spacing:-1px}.modal>p{font-size:12px;line-height:1.8;margin-bottom:23px}.modal form{display:grid;gap:15px}.modal label{font-size:11px;font-weight:550;display:block;color:#75866a}.modal input:not([type=file]){display:block;width:100%;padding:12px 13px;border:1px solid #dde4d4;border-radius:7px;background:#fff;color:#284433;font-size:12px;margin-top:8px;outline-color:#b7cba2;min-height:42px}.modal input::placeholder{color:#a5ae9c;font-size:11px}.modal .btn.wide{margin-top:6px}.forgot{margin:18px auto 0;display:flex;justify-content:center;color:#869a76}.auth-switch{text-align:center;border-top:1px solid #e6eadf;padding-top:21px;margin-top:23px;font-size:11px;color:#9ba690}.auth-switch button{font-weight:650;color:#4c6a3d}.modal-symbol{height:65px;width:65px;display:grid;place-items:center;border-radius:18px;background:#eaf0de;color:#84a36a;margin-bottom:23px}.code-input{letter-spacing:14px;text-align:center;font-size:29px!important;padding:14px!important}.fineprint{font-size:9px!important;color:#9da992;text-align:center;line-height:1.6;margin:4px 0 0!important}.form-error{background:#fbe9df;color:#ad6146;border:1px solid #f0d8c9;border-radius:8px;padding:13px;font-size:11px;margin-top:20px;line-height:1.7}.create-modal{width:810px;display:grid;grid-template-columns:.9fr 1.1fr;padding:0;gap:0}.create-preview{position:relative;min-height:550px;background:#e3ead9}.create-preview img{height:100%;width:100%;position:absolute;inset:0}.create-preview span{position:absolute;bottom:0;left:0;right:0;padding:70px 25px 28px;background:linear-gradient(transparent,#17392abd);color:#fff;font-size:16px;font-family:Manrope;letter-spacing:-.4px}.create-content{padding:34px 30px}.create-content h2{margin:12px 0 24px}.create-content label small{font-size:9px;color:#a1ad95;font-weight:400;margin-left:5px}.choice-row{display:flex;gap:7px;margin-top:-7px}.choice-row button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 7px;background:#fff;border:1px solid #e2e7da;border-radius:7px;font-size:12px;color:#8b9a7d}.choice-row button.chosen,.piece-choices button.chosen{background:#e8f0db;border-color:#9ab47c;color:#3e6433}.piece-choices{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:-7px}.piece-choices button{font-size:11px;padding:10px 4px;background:#fff;border:1px solid #e2e7da;border-radius:6px;color:#87997b}.upload-field{position:relative;display:flex!important;align-items:center;gap:12px;border:1px dashed #c4d2b4;padding:15px 12px;border-radius:8px;overflow:hidden;cursor:pointer;margin-top:3px}.upload-field span{font-size:10px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-field small{display:block;margin:5px 0 0!important;font-size:8px!important;font-weight:400}.upload-field>input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.create-modal>.form-error{grid-column:1/-1;margin:0 20px 20px}.help-list{padding-left:18px;font-size:12px;line-height:1.8;color:#809171}.help-list li{margin-bottom:15px}.help-list strong{color:#4d683e}.spin{animation:spin 1s linear infinite}.game-shell .main-wrap{margin-left:0}.game{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.game-header{height:76px;flex-shrink:0;background:#fbfcf6;border-bottom:1px solid #dce3d2;display:flex;align-items:center;gap:18px;padding:0 24px}.small-mark{width:34px;height:34px;font-size:33px;border-radius:10px}.game-title{display:flex;flex-direction:column;gap:6px;min-width:150px;max-width:340px}.game-title strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-title span{font-size:10px;color:#91a07e}.game-progress{margin:auto;min-width:200px}.game-progress>span{font-size:10px;color:#839571}.game-progress>div{height:5px;background:#e5ecd9;border-radius:3px;margin-top:9px;overflow:hidden}.game-progress i{height:100%;display:block;background:#7f9d65;border-radius:3px;transition:width .4s}.connection{font-size:10px;display:flex;align-items:center;gap:7px;color:#7b9762;white-space:nowrap}.connection.offline{color:#bd875f}.board-wrap{position:relative;flex:1;min-height:0;overflow:hidden;background:#e6e8e0}.board-wrap canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline:0}.board-wrap canvas:active{cursor:grabbing}.board-loading{position:absolute;inset:0;background:#edf1e7f5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;z-index:10;color:#7b9666;font-size:14px}.board-loading p{font-size:11px}.board-top-info{position:absolute;top:19px;left:23px;display:flex;gap:10px;pointer-events:none}.board-top-info>span{padding:8px 12px;background:#fffef9dd;border:1px solid #dbe4cf;border-radius:6px;font-size:9px;color:#869877}.board-toolbar{position:absolute;bottom:25px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:7px;background:#fffff6;padding:7px 11px;box-shadow:0 5px 25px #253e2722;border:1px solid #dce4d2;border-radius:12px}.board-toolbar i{height:23px;width:1px;background:#e4e9dc;margin:0 3px}.board-toolbar .on{background:#e1ebd1;color:#4f7336}.game-footer{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;font-size:9px;color:#8d9c7f;background:#f9fbf5;flex-shrink:0}.game-footer span:last-child{display:flex;gap:7px;align-items:center}.completed-banner{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:17px;background:#f8fced;border:1px solid #c2d4a9;border-radius:12px;padding:18px 23px;box-shadow:0 5px 20px #425f2830;max-width:95vw}.completed-banner strong,.completed-banner span{display:block}.completed-banner strong{font-size:15px}.completed-banner span{font-size:10px;color:#8da079;margin-top:5px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media(min-width:1450px){.sidebar{width:250px;padding:40px 30px}.main-wrap{margin-left:250px}.content{padding:40px 55px 0}.topbar{padding:0 55px}.hero{min-height:400px;padding:45px}.hero h1{font-size:47px}.hero p{font-size:14px}.hero-meta{font-size:10px}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.card-body h3{font-size:15px}.art-photo{max-width:400px}.hero-art:before{width:350px;height:350px}}@media(max-width:1100px){.sidebar{width:190px;padding:28px 18px}.main-wrap{margin-left:190px}.brand{font-size:26px}.brand-mark{width:37px;height:37px;font-size:36px}.nav-label{font-size:8px;margin-left:5px}.sidebar nav button{padding:12px;font-size:12px}.sidebar-note{padding:18px 13px}.sidebar-note h3{font-size:14px}.content{padding:28px 28px 0}.topbar{padding:0 28px;height:73px}.hero{padding:28px;min-height:335px}.hero h1{font-size:32px}.hero p{font-size:11px}.eyebrow{font-size:7px;letter-spacing:1.4px}.hero-meta{font-size:8px;gap:7px}.hero-art{padding:20px 0 20px 20px}.hero-art:before{width:230px;height:230px}.art-label{font-size:7px;top:15px}.floating-note{right:-15px;bottom:20px;padding:9px 11px;font-size:8px}.floating-note div span{font-size:7px}.art-star{font-size:39px;right:-10px;top:20px}.gallery-grid{gap:16px}.card-body{padding:13px}.card-body h3{font-size:12px}.card-body p{font-size:7px;gap:3px}.card-body p svg{width:11px}.card-arrow{display:none}.section-heading h2{font-size:20px}.search{min-width:160px}.search input{width:115px}.room-grid{grid-template-columns:repeat(2,1fr)}.lobby{gap:25px}.lobby-image>img{min-height:350px}.lobby-info h1{font-size:27px}.game-progress{min-width:150px}.game-header{gap:12px;padding:0 15px}}@media(max-width:800px){.sidebar{width:76px;padding:25px 12px}.brand{justify-content:center}.brand>span:last-child{display:none}.nav-label{font-size:0;margin:35px 0 10px}.sidebar nav button{font-size:0;padding:14px;gap:0;position:relative;justify-content:center}.sidebar nav svg{width:21px;height:21px}.nav-dot{display:none!important}.sidebar .count{position:absolute;right:0;top:0}.sidebar-note,.sidebar-bottom{display:none}.main-wrap{margin-left:76px}.content{padding:25px 23px 0}.topbar{padding:0 23px}.hero{padding:27px 25px;grid-template-columns:1.2fr .8fr}.hero h1{font-size:29px;letter-spacing:-1.2px}.hero-meta{gap:6px;flex-wrap:wrap}.hero-art{padding:15px 0 15px 12px}.art-label{display:none}.hero-art:before{width:190px;height:190px}.floating-note{right:-15px;bottom:40px}.floating-note>svg{display:none}.art-star{font-size:30px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-body h3{font-size:14px}.card-body p{font-size:9px}.card-body p svg{width:12px}.search{min-width:140px}.search input{width:95px}.section-heading h2{font-size:18px}.section-heading .eyebrow{font-size:7px}.how-row{gap:15px}.how-row>div{padding-left:0;padding-top:30px}.how-row h3{font-size:11px}.how-row p{font-size:9px}.how-row>div>span{top:0}.friends-grid{grid-template-columns:repeat(2,1fr)}.lobby{grid-template-columns:1fr}.lobby-image>img{max-height:300px;min-height:0;display:block}.lobby-info{margin-bottom:35px}.lobby-info h1{font-size:32px}.game-title{min-width:100px;max-width:220px}.game-progress{min-width:100px}.game-header{gap:10px}.game-footer span:first-child{max-width:70%;font-size:8px}.connection{font-size:0;gap:0}.create-modal{width:680px}.create-content{padding:30px 24px}.create-preview{min-height:500px}}@media(max-width:560px){.sidebar{position:fixed;inset:auto 0 0;width:auto;height:64px;flex-direction:row;padding:5px 15px;border-top:1px solid var(--border);border-right:0;background:#fdfef8f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sidebar .brand,.nav-label{display:none}.sidebar nav{display:flex;justify-content:space-around;width:100%;gap:6px}.sidebar nav button{font-size:9px;flex-direction:column;gap:5px;flex:1;padding:5px 15px;border-radius:8px}.sidebar nav svg{width:18px;height:18px}.sidebar .count{right:8px}.main-wrap{margin-left:0}.topbar{height:67px;padding:0 20px}.breadcrumb{font-size:10px;gap:10px}.breadcrumb:before{content:"∞";font-size:28px;font-weight:700;color:#33523d}.breadcrumb>span,.breadcrumb>strong{display:none}.top-actions{gap:9px}.top-actions .small{font-size:10px;padding:9px 11px}.top-actions .text-btn{font-size:10px}.top-actions .username{display:none}.content{padding:19px 18px 70px}.hero{display:flex;flex-direction:column;padding:29px 25px 22px;min-height:570px;gap:10px}.hero h1{font-size:35px;margin-top:20px;line-height:1.18}.hero p{font-size:12px}.hero .eyebrow{font-size:7px;letter-spacing:1.3px}.hero .btn{font-size:11px;padding:13px 15px;margin-top:21px}.hero-meta{font-size:9px;margin-top:18px;gap:10px}.hero-art{height:214px;min-height:214px;padding:15px 28px 8px 23px;max-width:360px;width:100%;margin:0 auto}.art-photo{height:190px;width:258px;max-width:100%;aspect-ratio:auto;border-width:7px}.hero-art:before{height:210px;width:210px}.floating-note{bottom:6px;right:5px;font-size:8px;gap:9px;padding:9px 12px}.floating-note .mini-avatar{width:23px;height:23px;font-size:11px}.art-star{top:4px;right:17px;font-size:35px}.gallery-section{margin-top:29px}.section-heading{display:block}.section-heading h2{font-size:21px;letter-spacing:-.8px}.section-heading .eyebrow{font-size:7px}.search{margin-top:17px;width:100%;height:40px}.search input{width:100%;font-size:11px}.category-row{flex-wrap:nowrap;overflow:auto;margin:15px -18px 20px;padding:0 18px;scrollbar-width:none}.category-row button{font-size:10px;padding:9px 12px}.gallery-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.card-img{aspect-ratio:1.24}.card-badge{font-size:5px;left:7px;top:7px;padding:4px}.card-body{padding:12px 10px}.card-body h3{font-size:12px;line-height:1.4;min-height:33px;margin-top:4px;letter-spacing:-.35px}.card-category{font-size:7px}.card-body p{font-size:7px;gap:3px;margin-top:7px}.card-body p svg{width:10px}.card-body p svg:last-of-type{display:none}.card-body p span{margin:0}.upload-card{min-height:250px;padding:18px 8px}.upload-card h3{font-size:16px}.upload-card p{font-size:8px}.upload-card>span{height:40px;width:40px;margin-bottom:12px}.upload-card>span svg{width:24px}.upload-card b{font-size:9px}.how-row{gap:14px;padding:25px 0;margin-top:25px}.how-row h3{font-size:10px;letter-spacing:-.1px}.how-row p{font-size:8px}.how-row>div>span{font-size:16px}footer{flex-wrap:wrap;padding:22px 0;font-size:11px;gap:12px}footer span{display:none}.page-title{align-items:flex-start;margin-top:10px;flex-direction:column;gap:22px}.page-title h1{font-size:33px;letter-spacing:-1.1px;margin:13px 0}.page-title p{font-size:11px}.page-title>svg{display:none}.panel{padding:20px}.friend-add{gap:15px}.friend-add>div{min-width:100%}.input-icon{flex:1;min-width:100px}.input-icon input{width:100%;font-size:11px}.friend-add .btn{font-size:10px;padding:12px}.person-row strong{font-size:11px}.person-row .btn.small{font-size:9px;padding:9px}.friends-grid,.room-grid{grid-template-columns:1fr;gap:15px}.room-card{padding:0}.room-card>img{height:200px}.room-card-copy{padding:20px}.invite-row{flex-wrap:wrap;gap:10px}.invite-row>div{min-width:190px}.invite-row strong{font-size:12px}.invite-row p{font-size:9px}.modal-backdrop{padding:12px}.modal{padding:30px 24px;width:100%;max-height:calc(100dvh - 24px);border-radius:15px}.modal h2{font-size:25px}.modal>.brand-mark{margin-bottom:22px}.create-modal{display:block;padding:0}.create-preview{min-height:160px;height:160px}.create-preview img{object-position:center 45%}.create-preview span{font-size:14px;padding:40px 20px 15px}.create-content{padding:25px 24px}.create-content h2{margin-bottom:18px}.modal form{gap:13px}.piece-choices button{font-size:10px;padding:9px 2px}.choice-row button{padding:9px 7px}.create-modal>.form-error{margin:0 20px 20px}.game-header{height:65px;padding:0 10px;gap:7px}.game-header>.small-mark{display:none}.game-header>.icon-btn{padding:5px}.game-title{min-width:0;flex:1;max-width:150px}.game-title strong{font-size:11px}.game-title span{font-size:8px}.game-progress{min-width:75px;margin:0 5px}.game-progress>span{font-size:8px}.game-progress>div{margin-top:6px;height:4px}.game-header .btn.small{padding:9px;min-height:32px}.hide-mobile,.connection{display:none}.board-top-info{left:10px;top:12px;gap:5px}.board-top-info>span{font-size:7px;padding:7px 9px}.board-toolbar{bottom:19px;gap:2px;padding:5px 7px;max-width:95%;border-radius:10px}.board-toolbar .icon-btn{padding:8px}.board-toolbar svg{width:18px;height:18px}.board-toolbar i{margin:0 2px}.game-footer{height:29px;padding:0 12px}.game-footer span:first-child{font-size:7px;max-width:100%}.game-footer span:last-child{display:none}.completed-banner{top:50px;padding:13px;gap:10px;flex-wrap:wrap;min-width:300px}.completed-banner strong{font-size:13px}.completed-banner span{font-size:9px}.completed-banner .btn{margin:auto}.preparing{padding:45px 24px;margin:25px auto}.preparing h1{font-size:28px}.preparing p{font-size:11px}.error-banner{margin:10px 18px;font-size:11px}.toast{bottom:78px;padding:13px;font-size:11px;width:max-content}.game-shell .toast{bottom:90px}}
