:root{--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--ease-spring:cubic-bezier(.2, 1.3, .3, 1);--ease-out:cubic-bezier(.22, .8, .3, 1);--font-display:"Fredoka", ui-rounded, "Nunito", system-ui, sans-serif;--font-body:"Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}@media (hover:hover) and (pointer:fine){html,body{cursor:var(--cursor-default,auto) 5 3, auto}a,a *,button,button *,[role=button],[role=button] *,label,label *,summary,summary *,select,.suggest,.suggest *,input[type=checkbox],input[type=radio],input[type=button],input[type=submit],input[type=reset],.pw-toggle,.rate-btn,.h-item button.open,.h-item .del{cursor:var(--cursor-pointer,pointer) 5 3, pointer!important}textarea,input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=reset]){cursor:text}button:disabled,button:disabled *,.icon-btn[disabled],.icon-btn[disabled] *,input:disabled,[aria-disabled=true],[aria-disabled=true] *{cursor:not-allowed!important}}body:after{content:"";z-index:100;pointer-events:none;background:var(--grain);opacity:var(--grain-opacity);position:fixed;inset:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.1}p{margin:0}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--tomato);outline-offset:3px;border-radius:8px}.wrap{width:min(1120px,100% - clamp(28px,6vw,56px));margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.i{flex:none;width:1.25em;height:1.25em}.icon{align-items:center;display:inline-flex}.btn{border:2.5px solid var(--outline);background:var(--surface);color:var(--ink);font-family:var(--font-display);box-shadow:0 4px 0 var(--hard);transition:translate .18s var(--ease-spring), scale .12s, box-shadow .18s var(--ease-out), background .2s;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:1rem;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.btn:hover{box-shadow:0 7px 0 var(--hard);animation:jelly .5s var(--ease-out);translate:0 -3px}.btn:active{box-shadow:0 1px 0 var(--hard);animation:none;translate:0 3px;scale:1 .94}.btn-primary{background:var(--brand);color:var(--on-brand)}.btn-small{box-shadow:0 3px 0 var(--hard);border-width:2px;border-radius:12px;padding:6px 14px;font-size:.92rem}.icon-btn{width:38px;height:38px;color:var(--muted);transition:background .15s, color .15s, scale .15s var(--ease-spring), border-color .15s;background:0 0;border:2px solid #0000;border-radius:12px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover:not([disabled]){background:var(--paper-2);color:var(--ink);scale:1.1}.icon-btn:active:not([disabled]){scale:.9}.icon-btn[disabled]{opacity:.45}.sound-toggle{border-color:var(--outline);background:var(--surface);color:var(--ink);box-shadow:0 3px 0 var(--hard)}.sound-toggle:hover:not([disabled]){background:var(--butter)}.sound-toggle[aria-pressed=false]{color:var(--muted)}.sound-toggle[aria-pressed=false] .i-on,.sound-toggle[aria-pressed=true] .i-off,[data-sound-toggle][aria-pressed=false] .i-on,[data-sound-toggle][aria-pressed=true] .i-off,[data-sound-toggle][aria-checked=false] .i-on,[data-sound-toggle][aria-checked=true] .i-off{display:none}.site-header{padding:16px 0}.site-header .wrap{justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{font-family:var(--font-display);align-items:center;gap:10px;font-size:1.15rem;font-weight:600;text-decoration:none;display:flex}.brand-mark{background:var(--butter);border:2.5px solid var(--outline);width:42px;height:42px;box-shadow:2px 2px 0 var(--hard);transition:rotate .3s var(--ease-spring);border-radius:12px;place-items:center;display:grid;overflow:hidden}.brand:hover .brand-mark{rotate:-8deg}.brand-mark .bogi{width:34px;margin-top:6px}.nav{align-items:center;gap:4px;display:flex}.nav a:not(.btn){color:var(--muted);transition:color .15s, background .15s, translate .15s var(--ease-spring);border-radius:10px;padding:8px 14px;font-weight:700;text-decoration:none}.nav a:not(.btn):hover{color:var(--ink);background:var(--paper-2);translate:0 -2px}.nav .sound-toggle{margin-left:8px}@media (width<=760px){.nav a{display:none}}.tablecloth{background-color:var(--paper);background-image:linear-gradient(90deg, var(--check) 50%, transparent 50%), linear-gradient(0deg, var(--check) 50%, transparent 50%);background-size:56px 56px;position:relative}.hero{margin-top:-1px;padding:40px 0 78px}.hero:after{content:"";background:radial-gradient(circle at 14px 0, var(--brand) 13px, transparent 13.6px) 0 0 / 28px 24px repeat-x;height:24px;position:absolute;bottom:-23px;left:0;right:0}.hero:before{content:"";background:var(--brand);border-top:2.5px solid var(--outline);height:10px;position:absolute;bottom:0;left:0;right:0}.hero .wrap{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(24px,4vw,48px);display:grid;position:relative}.eyebrow{border:2px solid var(--outline);background:var(--butter);box-shadow:2px 2px 0 var(--hard);border-radius:10px;padding:5px 12px;font-size:.85rem;font-weight:800;animation:4s ease-in-out infinite label-bob;display:inline-block;rotate:-1.5deg}.hero h1{margin:20px 0 16px;font-size:clamp(2.2rem,1.2rem + 4.2vw,3.8rem)}.mark{background:linear-gradient(transparent 60%, var(--butter) 60% 94%, transparent 94%);padding:0 4px}.hero p.lead{color:var(--muted);max-width:34em;font-size:clamp(1.02rem,.95rem + .4vw,1.18rem)}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.stage{--px:0;--py:0;justify-items:center;display:grid;position:relative}.plate-wrap{width:min(100%,410px);position:relative}.plate{aspect-ratio:1;background:var(--surface);border:3px solid var(--outline);width:100%;box-shadow:8px 8px 0 var(--hard);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s var(--ease-out);border-radius:50%;place-items:center;display:grid;position:relative}.plate:before{content:"";border:2px solid color-mix(in srgb, var(--outline) 28%, transparent);border-radius:50%;position:absolute;inset:15px}.plate .bogi{width:76%;margin-top:-6%;position:relative}.sticker{width:78px;height:78px;color:var(--outline);transform:translate(calc(var(--px) * var(--d,10) * 1px), calc(var(--py) * var(--d,10) * 1px)) rotate(var(--rot,0deg));transition:transform .25s var(--ease-out), scale .2s var(--ease-spring);background:0 0;border:0;padding:0;animation:5s ease-in-out infinite sway;position:absolute}.sticker:hover{scale:1.18}.sticker:active{scale:.9}.sticker.spin{animation:sticker-spin .6s var(--ease-spring)}.sticker svg{width:100%;height:100%;display:block}.sticker .f-surface{fill:var(--surface)}.sticker .f-yolk{fill:var(--yolk)}.sticker .f-wood{fill:var(--wood)}.sticker .f-shine{fill:var(--surface);opacity:.85}.sticker.s-egg{--rot:-14deg;--d:14;top:-4%;left:-8%}.sticker.s-whisk{--rot:18deg;--d:-18;width:92px;height:92px;animation-delay:-1.7s;top:0;right:-11%}.sticker.s-spoon{--rot:-28deg;--d:22;animation-delay:-3.2s;bottom:4%;left:-12%}.section{padding:96px 0 88px;overflow-x:clip}.menu{background:var(--surface);border:3px solid var(--outline);max-width:860px;box-shadow:8px 8px 0 var(--hard);transform-origin:50% 0;border-radius:24px;margin-inline:auto;padding:44px clamp(18px,5vw,52px) 30px;position:relative}.menu:before{content:"";border:1.5px dashed color-mix(in srgb, var(--outline) 45%, transparent);pointer-events:none;border-radius:17px;position:absolute;inset:9px}.tape{background:color-mix(in srgb, var(--sky) 80%, transparent);border:1px solid color-mix(in srgb, var(--outline) 25%, transparent);width:116px;height:30px;position:absolute;top:-15px;left:50%;translate:-50%;rotate:-3deg}.menu-head{text-align:center;margin-bottom:18px}.menu-head small{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:800;display:block}.menu-head h2{margin:4px 0;font-size:clamp(1.9rem,4.4vw,2.8rem)}.menu-head p{color:var(--muted)}.menu-list{margin:0;padding:0;list-style:none}.menu-item a{border-top:2px solid color-mix(in srgb, var(--outline) 16%, transparent);transition:background .15s, translate .25s var(--ease-spring);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:baseline;gap:4px 14px;padding:18px 10px;text-decoration:none;display:grid}.menu-item:first-child a{border-top:0}.menu-item a:hover{background:var(--paper-2);translate:6px}.menu-item a:active{scale:.99}.menu-no{font-family:var(--font-display);color:var(--tomato);font-size:1.1rem;font-weight:600;display:inline-block}.menu-item a:hover .menu-no{animation:wiggle .5s var(--ease-out)}.menu-name{font-family:var(--font-display);align-items:baseline;gap:10px;font-size:clamp(1.1rem,1rem + .6vw,1.32rem);font-weight:600;display:flex}.menu-name:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--outline) 55%, transparent) 1.6px, transparent 2.1px) 0 50% / 10px 6px repeat-x;flex:1;min-width:24px;height:6px;translate:0 -3px}.menu-item a:hover .menu-name:after{animation:.5s linear infinite march}.menu-desc{color:var(--muted);grid-column:2/4;font-size:.95rem}.menu-go{align-items:center;gap:4px;font-weight:800;display:inline-flex}.menu-item a:hover .menu-go .icon{animation:nudge .6s var(--ease-out) infinite}.menu-foot{text-align:center;border-top:2px solid color-mix(in srgb, var(--outline) 16%, transparent);color:var(--muted);margin-top:8px;padding-top:16px;font-size:.88rem}.site-footer{border-top:3px solid var(--outline);background:var(--paper-2);color:var(--muted);padding:30px 0 110px;font-size:.9rem}.site-footer .foot-grid{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px 32px;display:grid}.foot-id{gap:4px;min-width:0;display:grid}.foot-id p{margin:0}.foot-name{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.foot-name b{color:var(--ink);font-family:var(--font-display);font-size:1.1rem}.foot-inst{color:var(--muted)}.foot-note{font-size:.84rem}.foot-links{flex-wrap:wrap;justify-content:flex-end;gap:6px 18px;display:flex}.foot-links a{color:var(--ink);border-bottom:2px solid #0000;padding:4px 0;font-weight:700;text-decoration:none}.foot-links a:hover,.foot-links a:focus-visible{border-bottom-color:var(--brand)}.site-footer .swatches{grid-column:1/-1}.swatches{align-items:center;gap:8px;display:inline-flex}.swatches>span{font-weight:700}.swatch{border:2.5px solid var(--outline);width:26px;height:26px;box-shadow:0 2px 0 var(--hard);transition:scale .15s var(--ease-spring), box-shadow .15s;border-radius:50%;padding:0}.swatch[data-theme-set=jeruk]{background:var(--swatch-jeruk)}.swatch[data-theme-set=pandan]{background:var(--swatch-pandan)}.swatch[data-theme-set=stroberi]{background:var(--swatch-stroberi)}.swatch:hover{scale:1.2}.swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--paper-2), 0 0 0 5.5px var(--outline)}.js .reveal{opacity:0;transition:opacity .6s var(--ease-out), translate .7s var(--ease-spring);translate:0 22px}.js .reveal.in{opacity:1;translate:0}.js .menu.reveal{transition:none;translate:0;rotate:-5deg}.js .menu.reveal.in{opacity:1;animation:swing 1.1s var(--ease-out) both}.js .stage.reveal{rotate:4deg;scale:.88}.js .stage.reveal.in{transition:opacity .6s var(--ease-out), translate .7s var(--ease-spring), scale .8s var(--ease-spring), rotate .8s var(--ease-spring);rotate:0deg;scale:1}.fab{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:60;border:3px solid var(--outline);background:var(--butter);height:70px;box-shadow:0 5px 0 var(--hard);transition:scale .2s var(--ease-spring), box-shadow .2s, opacity .25s;border-radius:35px;align-items:center;text-decoration:none;animation:3.4s ease-in-out infinite fab-bob;display:flex;position:fixed}.fab:before{content:"";border-radius:inherit;border:3px solid var(--brand);opacity:0;pointer-events:none;animation:2.8s ease-out infinite ring;position:absolute;inset:-3px}.fab:hover,.fab:focus-visible{box-shadow:0 8px 0 var(--hard);scale:1.06}.fab:active{box-shadow:0 2px 0 var(--hard);scale:.94}.fab.is-wiggle{animation:fab-bob 3.4s ease-in-out infinite, fab-wiggle .8s var(--ease-out)}.fab-face{border-radius:50%;flex:none;place-items:center;width:64px;height:64px;display:grid;overflow:hidden}.fab-face .bogi{width:54px;margin-top:9px}.fab-label{white-space:nowrap;max-width:0;font-family:var(--font-display);transition:max-width .3s var(--ease-out), padding .3s var(--ease-out);font-weight:600;overflow:hidden}@media (hover:hover){.fab:hover .fab-label,.fab:focus-visible .fab-label{max-width:130px;padding-right:20px}}.fab-teaser{right:max(18px, env(safe-area-inset-right));bottom:calc(max(18px, env(safe-area-inset-bottom)) + 84px);z-index:60;background:var(--surface);border:2.5px solid var(--outline);max-width:min(230px,100vw - 36px);box-shadow:3px 3px 0 var(--hard);opacity:0;transform-origin:100% 100%;pointer-events:none;border-radius:18px 18px 4px;padding:9px 14px;font-size:.92rem;font-weight:700;position:fixed;scale:.5}.fab-teaser.show{animation:pop-in .5s var(--ease-spring) forwards}.wipe{z-index:500;background:var(--brand);pointer-events:none;clip-path:circle(0 at 95% 95%);place-items:center;display:grid;position:fixed;inset:0}.wipe .wipe-bogi{width:min(180px,40vw)}.fx-bit{border:1.5px solid var(--outline);pointer-events:none;z-index:400;border-radius:3px;width:9px;height:9px;animation:.65s cubic-bezier(.2,.7,.3,1) forwards bit;position:fixed;translate:-50% -50%}.fx-dust{pointer-events:none;z-index:399;border-radius:50%;width:6px;height:6px;animation:.8s ease-out forwards dust;position:fixed;translate:-50% -50%}.fx-float{pointer-events:none;z-index:400;font-family:var(--font-display);color:var(--tomato);animation:float-up .9s var(--ease-out) forwards;font-weight:600;position:fixed}.fx-key{pointer-events:none;z-index:400;font-family:var(--font-display);color:var(--brand);text-shadow:1px 1px 0 var(--outline);animation:key-pop .7s var(--ease-out) forwards;font-size:1.05rem;font-weight:600;position:fixed;translate:-50% -50%}@keyframes sway{0%,to{translate:0}50%{translate:0 -7px}}@keyframes label-bob{0%,to{translate:0}50%{translate:0 -3px}}@keyframes sticker-spin{0%{rotate:0deg;scale:1}50%{rotate:200deg;scale:1.3}to{rotate:360deg;scale:1}}@keyframes jelly{0%{scale:1}30%{scale:1.08 .92}50%{scale:.95 1.06}70%{scale:1.03 .98}to{scale:1}}@keyframes wiggle{0%,to{rotate:0deg}25%{rotate:-14deg}75%{rotate:12deg}}@keyframes nudge{0%,to{translate:0}50%{translate:5px}}@keyframes march{to{background-position:10px}}@keyframes swing{0%{rotate:-5deg}25%{rotate:3deg}50%{rotate:-1.6deg}75%{rotate:.7deg}to{rotate:0deg}}@keyframes pop-in{0%{opacity:0;scale:.5}to{opacity:1;scale:1}}@keyframes drop{0%{opacity:0;transform:translateY(-22px)rotate(-3deg)scale(.9)}60%{opacity:1;transform:translateY(4px)rotate(.6deg)scale(1.02)}to{opacity:1;transform:none}}@keyframes from-composer{0%{opacity:0;transform:translateY(34px)scale(.7)}70%{opacity:1;transform:translateY(-3px)scale(1.03)}to{opacity:1;transform:none}}@keyframes from-left{0%{opacity:0;transform:translate(-16px)scale(.8)}to{opacity:1;transform:none}}@keyframes flip-in{0%{opacity:0;transform:perspective(700px)rotateX(-75deg)}60%{opacity:1;transform:perspective(700px)rotateX(10deg)}to{opacity:1;transform:perspective(700px)rotateX(0)}}@keyframes stamp{0%{opacity:0;rotate:-14deg;scale:2.3}55%{opacity:1;rotate:3deg;scale:.88}to{opacity:1;rotate:0deg;scale:1}}@keyframes dots{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-6px)}}@keyframes shake{0%,to{translate:0}25%{translate:-3px}75%{translate:3px}}@keyframes fab-bob{0%,to{translate:0}50%{translate:0 -6px}}@keyframes fab-wiggle{0%,to{rotate:0deg}20%{rotate:-9deg}40%{rotate:8deg}60%{rotate:-5deg}80%{rotate:3deg}}@keyframes ring{0%{opacity:.6;scale:1}to{opacity:0;scale:1.35}}@keyframes bit{0%{opacity:1;transform:translate(0)rotate(0)scale(.4)}to{transform:translate(var(--dx), var(--dy)) rotate(var(--r)) scale(1);opacity:0}}@keyframes dust{0%{opacity:.9;transform:translate(0)scale(1)}to{transform:translate(var(--dx), -16px) scale(.2);opacity:0}}@keyframes float-up{0%{opacity:0;transform:translateY(0)scale(.8)}20%{opacity:1}to{opacity:0;transform:translateY(-34px)scale(1.1)}}@keyframes key-pop{0%{opacity:0;transform:translate(0)scale(.6)}20%{opacity:1}to{transform:translate(var(--dx,0), -38px) rotate(var(--r,0deg)) scale(1.1);opacity:0}}@keyframes fly{0%{translate:0}45%{opacity:0;translate:0 -34px}46%{opacity:0;translate:0 34px}to{opacity:1;translate:0}}@keyframes bg-drift{to{transform:translate(360px,360px)}}@keyframes caret{0%,to{opacity:1}50%{opacity:0}}@keyframes composer-tap{0%{translate:0}50%{translate:0 1.5px}to{translate:0}}@keyframes ready-breathe{0%,to{scale:1}50%{scale:1.07}}@keyframes ring-pulse{0%,to{scale:1}50%{scale:1.18}}.chat-bg{z-index:-1;pointer-events:none;background:var(--doodle);opacity:var(--doodle-opacity);-webkit-mask-image:var(--doodle-tile,none);-webkit-mask-image:var(--doodle-tile,none);mask-image:var(--doodle-tile,none);animation:160s linear infinite bg-drift;position:fixed;inset:-360px;-webkit-mask-size:360px 360px;mask-size:360px 360px}.chat-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,36px);width:min(1120px,100% - clamp(28px,6vw,56px));margin:0 auto;padding-top:20px;display:grid}.side{gap:16px;padding-bottom:24px;display:grid;position:sticky;top:20px}.side-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.back{color:var(--muted);transition:background .15s, color .15s, translate .2s var(--ease-spring);border:2px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:6px 12px 6px 8px;font-weight:800;text-decoration:none;display:inline-flex}.back:hover{background:var(--paper-2);color:var(--ink);translate:-3px}.back:active{scale:.94}.card{background:var(--surface);border:2.5px solid var(--outline);border-radius:var(--radius-lg);box-shadow:4px 4px 0 var(--hard);padding:16px}.side-bogi{text-align:center;background:var(--sky);justify-items:center;gap:4px;display:grid}.side-bogi .bogi-slot{width:144px}.side-bogi .status{font-family:var(--font-display);align-items:center;min-height:2.5em;font-size:1.05rem;font-weight:500;line-height:1.25;display:grid}.side-bogi .role{color:var(--muted);font-size:.8rem}.side .btn{width:100%}.gallery{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.shot{border:2.5px solid var(--outline);background:var(--surface);width:min(210px,100%);box-shadow:0 3px 0 var(--hard);border-radius:14px;margin:0;overflow:hidden}.shot a{color:inherit;cursor:zoom-in;display:block}.shot img{object-fit:cover;background:var(--butter);width:100%;height:140px;display:block}.shot figcaption{color:var(--muted);overflow-wrap:anywhere;padding:6px 10px;font-size:.82rem;line-height:1.35}.shot a:focus-visible{outline:3px solid var(--brand);outline-offset:-3px}.gallery.web{flex-direction:column;gap:12px;width:100%;max-width:540px;margin-top:12px;display:flex}.gallery.web.multi{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;max-width:600px;display:grid}.gallery.web .shot{border:2px solid var(--outline);background:var(--surface);width:100%;transition:transform .2s var(--ease-spring), box-shadow .2s ease, border-color .2s ease;border-radius:18px;box-shadow:0 4px 16px #00000014,0 2px 4px #0000000a}.gallery.web .shot:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 8px 24px #0000001f,0 3px 8px #0000000f}.gallery.web .shot-img-wrap{background:var(--paper-2);width:100%;height:200px;position:relative;overflow:hidden}.gallery.web.single .shot-img-wrap,.gallery.web .shot.highlight .shot-img-wrap{height:300px}@media (width<=600px){.gallery.web.single .shot-img-wrap,.gallery.web .shot.highlight .shot-img-wrap{height:220px}}.gallery.web .shot img{object-fit:cover;background:var(--paper-2);width:100%;height:100%;transition:transform .35s}.gallery.web .shot:hover img{transform:scale(1.02)}.gallery.web .shot-badge{-webkit-backdrop-filter:blur(8px);color:#fff;pointer-events:none;background:#141414b8;border-radius:99px;padding:3px 10px;font-size:.72rem;font-weight:700;position:absolute;top:10px;right:10px;box-shadow:0 2px 6px #0003}.gallery.web figcaption{background:var(--surface);flex-direction:column;gap:6px;padding:12px 14px 14px;display:flex}.gallery.web .shot-title{color:var(--ink);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.96rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.gallery.web .shot-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.76rem;line-height:1.3;display:flex}.gallery.web .shot-pill{background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:2px 7px;font-weight:600}.gallery.web .shot-tag{background:color-mix(in srgb, var(--butter) 45%, var(--surface));border:1px solid color-mix(in srgb, var(--outline) 30%, transparent);color:var(--ink);border-radius:6px;padding:2px 7px;font-weight:700}.gallery.web .shot-credit{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.chat-img-dlg{color:#fff;background:0 0;border:none;border-radius:24px;width:max-content;max-width:min(94vw,920px);max-height:94vh;margin:auto;padding:0;overflow:visible}.chat-img-dlg[open]{animation:.26s cubic-bezier(.16,1,.3,1) forwards dlg-zoom}@keyframes dlg-zoom{0%{opacity:0;transform:scale(.94)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.chat-img-dlg::backdrop{-webkit-backdrop-filter:blur(18px);background:#080c0adb}.chat-img-frame{-webkit-backdrop-filter:blur(24px);background:#161c19d1;border:1px solid #ffffff29;border-radius:24px;flex-direction:column;min-width:min(90vw,340px);max-width:min(94vw,920px);display:flex;position:relative;overflow:hidden;box-shadow:0 32px 80px #0009,0 12px 32px #00000059,0 0 0 1px #ffffff0f}.chat-img-close{color:#fff;-webkit-backdrop-filter:blur(10px);cursor:pointer;z-index:10;background:#121814c7;border:1.5px solid #ffffff4d;border-radius:50%;place-items:center;width:40px;height:40px;transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s,border-color .18s,box-shadow .18s;display:grid;position:absolute;top:14px;right:14px;box-shadow:0 4px 16px #00000073}.chat-img-close:hover{color:#fff;background:#ef4444;border-color:#ef4444;transform:scale(1.1);box-shadow:0 6px 20px #ef444466}.chat-img-close:active{transform:scale(.92)}.chat-img-view{background:radial-gradient(circle,#28342d59 0%,#0c100e99 100%);justify-content:center;align-items:center;min-height:180px;max-height:min(74vh,640px);padding:16px;display:flex;position:relative;overflow:hidden}.chat-img-view img{object-fit:contain;border-radius:14px;width:auto;max-width:100%;height:auto;max-height:min(72vh,620px);margin:0 auto;display:block;box-shadow:0 12px 36px #00000080}.chat-img-caption{background:#0f1411b8;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:18px;padding:16px 24px;display:flex}.chat-img-caption[hidden]{display:none}.chat-img-text{flex:1;min-width:0}.chat-img-text b{font-family:var(--font-display);color:#fff;overflow-wrap:anywhere;font-size:1.05rem;font-weight:700;line-height:1.35;display:block}.chat-img-meta{color:#ebf5f0bf;margin:4px 0 0;font-size:.84rem;line-height:1.4}.chat-img-source{color:#95d5b2;background:#52b78838;border:1.5px solid #95d5b273;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:9px 18px;font-size:.86rem;font-weight:600;text-decoration:none;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:inline-flex;box-shadow:0 2px 8px #0003}.chat-img-source:hover{color:#081c15;background:#52b788;border-color:#52b788;transform:translateY(-1px);box-shadow:0 6px 18px #52b78859}.chat-img-source:active{box-shadow:none;transform:translateY(1px)}@media (width<=600px){.chat-img-dlg{max-width:94vw}.chat-img-caption{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 16px}.chat-img-source{justify-content:center;width:100%}}.user-card{border:2.5px solid var(--outline);background:var(--surface);width:100%;min-width:0;color:var(--ink);box-shadow:0 4px 0 var(--hard);transition:translate .18s var(--ease-spring), box-shadow .18s var(--ease-out);border-radius:14px;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;display:flex}.user-card[hidden]{display:none}.user-card:hover{box-shadow:0 7px 0 var(--hard);translate:0 -3px}.user-card:active{box-shadow:0 1px 0 var(--hard);translate:0 3px}.user-avatar{border:2.5px solid var(--outline);background:var(--butter);width:40px;height:40px;font-family:var(--font-display);border-radius:12px;flex:none;place-items:center;font-size:1.1rem;font-weight:600;display:grid;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%;display:block}.user-text{text-align:left;flex:1;gap:1px;min-width:0;display:grid}.user-line{align-items:center;gap:6px;min-width:0;display:flex}.user-name{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1rem;font-weight:600;overflow:hidden}.user-role{border:1.5px solid var(--outline);background:var(--butter);border-radius:99px;flex:none;padding:0 8px;font-size:.7rem;font-weight:800;line-height:1.5}.user-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.more-item.user-card-m{border-bottom:1.5px dashed color-mix(in srgb, var(--outline) 30%, transparent);align-items:center;gap:10px;margin-bottom:4px;padding-bottom:10px;display:flex}.more-item.user-card-m[hidden]{display:none}.more-item.user-card-m,.more-item.user-card-m *{text-decoration:none}.user-card-m .user-avatar{border-radius:10px;width:34px;height:34px;font-size:.95rem}.proto-note{color:var(--muted);text-align:center;font-size:.75rem}.proto-note button{text-underline-offset:3px;color:inherit;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.more-wrap{display:none;position:relative}.pop{z-index:40;background:var(--surface);border:2.5px solid var(--outline);min-width:200px;box-shadow:3px 3px 0 var(--hard);opacity:0;pointer-events:none;transition:opacity .15s, scale .25s var(--ease-spring);border-radius:14px;padding:10px 12px;position:absolute;scale:.8}.pop.open{opacity:1;pointer-events:auto;scale:1}.more-pop{transform-origin:100% 0;min-width:210px;padding:6px;top:calc(100% + 8px);right:0}.more-item{text-align:left;width:100%;transition:background .15s, translate .15s var(--ease-spring);background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-weight:700;display:flex}.more-item:hover{background:var(--paper-2);translate:3px}.more-item .icon{color:var(--muted)}.thread{flex-direction:column;min-width:0;min-height:calc(100dvh - 28px);display:flex}.thread-main{flex:1;padding-top:6px}.empty{padding:28px 0 12px}.empty[hidden]{display:none}.empty h1{font-size:clamp(1.8rem,1.2rem + 3.4vw,3rem)}.empty p.sub{color:var(--muted);margin:8px 0 24px;font-size:1.1rem}.suggestions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.suggest{text-align:left;border-radius:var(--radius-md);border:2.5px solid var(--outline);background:var(--surface);width:100%;box-shadow:4px 4px 0 var(--hard);opacity:0;animation:drop .6s var(--ease-spring) forwards;transition:translate .18s var(--ease-spring), box-shadow .18s var(--ease-out), background .15s;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.suggest:first-child{animation-delay:50ms}.suggest:nth-child(2){animation-delay:.13s}.suggest:nth-child(3){animation-delay:.21s}.suggest:nth-child(4){animation-delay:.29s}.suggest:nth-child(5){animation-delay:.37s}.suggest:hover{box-shadow:7px 7px 0 var(--hard);background:color-mix(in srgb, var(--butter) 28%, var(--surface));translate:-3px -3px}.suggest:active{box-shadow:1px 1px 0 var(--hard);translate:3px 3px}.suggest .no{font-family:var(--font-display);color:var(--tomato);font-weight:600;display:inline-block}.suggest:hover .no{animation:sticker-spin .6s var(--ease-spring)}.suggest b{font-family:var(--font-display);font-size:1.05rem;font-weight:600;line-height:1.25;display:block}.suggest small{color:var(--muted);margin-top:2px;font-size:.85rem;line-height:1.35;display:block}.messages{flex-direction:column;gap:16px;padding:14px 0;display:flex}.msg{align-items:flex-start;gap:10px;display:flex}.msg.user{animation:from-composer .5s var(--ease-spring);justify-content:flex-end}.msg.bogi{animation:from-left .45s var(--ease-spring);transform-origin:0 0}.msg .avatar{border:2.5px solid var(--outline);background:var(--butter);width:38px;height:38px;box-shadow:2px 2px 0 var(--hard);border-radius:12px;flex:none;place-items:center;display:grid;overflow:hidden}.msg .avatar .bogi{width:32px;margin-top:6px}.msg .avatar .bogi *{animation:none!important}.bubble{overflow-wrap:anywhere;border:2.5px solid var(--outline);max-width:min(620px,86%);box-shadow:3px 3px 0 var(--hard);border-radius:16px;padding:11px 16px}.msg.user .bubble{background:var(--brand);color:var(--on-brand);border-top-right-radius:4px;font-weight:700}.msg.bogi .bubble{background:var(--surface);border-top-left-radius:4px}.msg.bogi .stack{flex-direction:column;gap:10px;min-width:0;max-width:min(620px,86%);display:flex}.msg.bogi .stack .bubble{max-width:100%}.bubble h2,.bubble h3,.bubble h4,.bubble h5{font-family:var(--font-display);margin:.7em 0 .2em;font-size:1rem;line-height:1.3}.bubble h2:first-child,.bubble h3:first-child,.bubble h4:first-child,.bubble h5:first-child{margin-top:0}.bubble.streaming:after{content:"";vertical-align:text-bottom;background:var(--brand);border:1.5px solid var(--outline);border-radius:3px;width:.5em;height:1.05em;margin-left:3px;animation:.8s step-end infinite caret;display:inline-block}.typing{gap:5px;padding:15px 18px;display:flex}.typing i{background:var(--ink);border-radius:50%;width:8px;height:8px;animation:1.1s infinite dots}.typing i:nth-child(2){animation-delay:.14s}.typing i:nth-child(3){animation-delay:.28s}.source{background:var(--mint);color:var(--mint-ink);border:2px solid var(--outline);animation:stamp .55s var(--ease-spring) .15s both;border-radius:8px;align-self:flex-start;align-items:center;gap:6px;padding:3px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.source.general{background:var(--sky);color:var(--ink)}.rate{align-self:flex-start;gap:6px;display:inline-flex}.rate-btn{font:inherit;background:var(--surface);color:var(--muted);border:2px solid var(--outline);border-radius:8px;padding:3px 12px;font-size:.78rem;font-weight:800}.rate-btn:hover{color:var(--ink)}.rate-btn[aria-pressed=true]{background:var(--mint);color:var(--mint-ink)}.rate-btn:focus-visible{outline:3px solid var(--outline);outline-offset:2px}.item-card{border-radius:var(--radius-md);background:var(--surface);border:2.5px solid var(--outline);box-shadow:3px 3px 0 var(--hard);transform-origin:top;animation:flip-in .65s var(--ease-spring) 50ms both;gap:14px;padding:12px;display:flex}.item-card .thumb{border:2px solid var(--outline);background:var(--butter);width:82px;height:82px;color:var(--outline);border-radius:12px;flex:none;place-items:center;display:grid}.item-card .thumb svg{transform-origin:50% 20%;width:60px;height:60px;animation:2.8s ease-in-out infinite wiggle}.item-card h4{font-size:1.05rem}.item-card .tag{background:var(--tomato);color:var(--on-tomato);border-radius:6px;margin:3px 0 4px;padding:0 8px;font-size:.72rem;font-weight:800;display:inline-block}.item-card p{color:var(--muted);font-size:.88rem;line-height:1.4}.sleep-note{border:2.5px dashed var(--outline);border-radius:var(--radius-lg);background:var(--paper-2);animation:drop .5s var(--ease-spring);padding:16px 18px}.sleep-note h3{margin-bottom:4px;font-size:1.1rem}.sleep-note p{color:var(--muted);margin-bottom:12px;font-size:.95rem}.sleep-note .btn-row{flex-wrap:wrap;gap:10px;display:flex}.composer-bar{padding:22px 0 max(16px, env(safe-area-inset-bottom));background:linear-gradient(to top, var(--paper) 62%, transparent);position:sticky;bottom:0}.composer{background:var(--surface);border:2.5px solid var(--outline);box-shadow:4px 4px 0 var(--hard);transition:box-shadow .2s, translate .2s var(--ease-spring);border-radius:22px;padding:10px 10px 8px 18px}.composer:focus-within{box-shadow:6px 6px 0 var(--brand);translate:-2px -2px}.composer.tap{animation:.14s ease-out composer-tap}.composer textarea{resize:none;width:100%;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;max-height:140px;padding:2px 0;font-size:1rem;line-height:1.5}.composer textarea::placeholder{color:var(--muted)}.composer-row{align-items:center;gap:4px;margin-top:2px;display:flex}.composer-row .spacer{flex:1}.media-previews{border-bottom:1.5px dashed color-mix(in srgb, var(--outline) 28%, transparent);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;padding-bottom:8px;display:flex}.media-previews[hidden]{display:none}.media-preview-item{border:2px solid var(--outline);background:var(--paper-2);width:56px;height:56px;box-shadow:2px 2px 0 var(--hard);animation:drop .25s var(--ease-spring);cursor:pointer;transition:transform .16s var(--ease-spring), box-shadow .16s ease;border-radius:12px;flex:none;position:relative;overflow:hidden}.media-preview-item:hover{box-shadow:3px 4px 0 var(--hard);transform:translateY(-2px)scale(1.06)}.media-preview-item img{object-fit:cover;width:100%;height:100%;display:block}.media-preview-del{border:1px solid var(--outline);background:var(--surface);width:18px;height:18px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:11px;line-height:1;transition:transform .12s,background .12s;display:grid;position:absolute;top:2px;right:2px;box-shadow:0 1px 3px #00000040}.media-preview-del:hover{background:var(--full);color:#fff;transform:scale(1.15)}.media-count-badge{color:var(--muted);padding:2px 6px;font-size:.78rem;font-weight:600}#micBtn.recording{animation:1.2s infinite mic-pulse;position:relative;color:#fff!important;background:#ef4444!important;border-color:#991b1b!important}@keyframes mic-pulse{0%{box-shadow:0 0 #ef4444b3}70%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}.user-media-grid{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.user-media-thumb{border:1.5px solid var(--outline);background:var(--surface);cursor:pointer;width:68px;height:68px;box-shadow:2px 2px 0 var(--hard);border-radius:10px;transition:transform .15s,box-shadow .15s;overflow:hidden}.user-media-thumb:hover{transform:scale(1.05);box-shadow:0 3px 6px #0000002e}.user-media-thumb img{object-fit:cover;width:100%;height:100%;display:block}.send{border:2.5px solid var(--outline);background:var(--brand);width:44px;height:44px;color:var(--on-brand);box-shadow:0 3px 0 var(--hard);transition:translate .18s var(--ease-spring), box-shadow .18s, scale .12s;border-radius:13px;place-items:center;display:grid;position:relative;overflow:hidden}.send:not([disabled]){animation:2.4s ease-in-out infinite ready-breathe}.send.ready-pop{animation:jelly .5s var(--ease-out), ready-breathe 2.4s ease-in-out .5s infinite}.send:hover:not([disabled]){box-shadow:0 6px 0 var(--hard);animation:jelly .5s var(--ease-out);translate:0 -3px}.send:active:not([disabled]){box-shadow:0 0 0 var(--hard);animation:none;translate:0 3px;scale:1 .92}.send[disabled]{opacity:.45}.send.flying .icon{animation:fly .5s var(--ease-out)}.disclaimer{text-align:center;color:var(--muted);margin-top:10px;font-size:.76rem}.ring-wrap{position:relative}.ring-btn{--used:18;--ring:var(--ok);width:40px;height:40px;transition:scale .15s var(--ease-spring);background:0 0;border:0;border-radius:12px;place-items:center;display:grid;position:relative}.ring-btn:hover{scale:1.1}.ring-btn:active{scale:.92}.ring-btn svg{width:30px;height:30px;overflow:visible;transform:rotate(-90deg)}.ring-btn .track{fill:none;stroke:color-mix(in srgb, var(--outline) 22%, transparent);stroke-width:4.5px}.ring-btn .arc{fill:none;stroke:var(--ring);stroke-width:4.5px;stroke-linecap:round;stroke-dasharray:88;stroke-dashoffset:calc(88 * (1 - var(--used) / 100));transition:stroke-dashoffset .9s var(--ease-spring), stroke .3s}.ring-btn[data-level=warn]{--ring:var(--warn)}.ring-btn[data-level=full]{--ring:var(--full);animation:.5s shake}.ring-btn.bump svg{animation:ring-pulse .45s var(--ease-spring)}.ring-pop{transform-origin:100% 100%;min-width:196px;bottom:calc(100% + 10px);right:-6px}.ring-pop b{font-family:var(--font-display);font-weight:600;display:block}.ring-pop span{color:var(--muted);font-size:.85rem;line-height:1.4;display:block}@media (hover:hover){.ring-wrap:hover .ring-pop{opacity:1;scale:1}}@media (width<=1024px){.chat-layout{grid-template-columns:250px minmax(0,1fr)}.side-bogi .bogi-slot{width:120px}.plate-wrap{width:min(100%,360px)}}@media (width<=900px){.chat-layout{grid-template-columns:minmax(0,1fr);gap:0;padding-top:0}.side{z-index:30;background:var(--paper);border-bottom:2px dashed color-mix(in srgb, var(--outline) 35%, transparent);align-items:center;gap:4px;padding:8px 0;display:flex;position:sticky;top:0}.side-top{display:contents}.side-top .sound-toggle,#newChat,#historyBtn,#installBtn,#authLink,#accountLink,.side>.proto-note{display:none}.back{flex:none;padding:8px}.back .label{display:none}.side-bogi{text-align:left;min-width:0;box-shadow:none;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:0;display:flex}.side-bogi .bogi-slot{flex:none;width:42px}.side-bogi>div:not(.bogi-slot){flex:1;min-width:0}.side-bogi .status{white-space:nowrap;text-overflow:ellipsis;min-height:0;font-size:1rem;display:block;overflow:hidden}.side-bogi .role{display:none}.more-wrap{flex:none;display:block}.thread{min-height:calc(100dvh - 72px)}.empty{padding-top:14px}.empty p.sub{margin-bottom:16px;font-size:1rem}.suggestions{flex-wrap:wrap;gap:10px;display:flex}.suggest{width:auto;box-shadow:2px 2px 0 var(--hard);border-radius:99px;align-items:center;padding:8px 16px}.suggest .no,.suggest small{display:none}.suggest b{font-size:.98rem;font-weight:500}.composer-row .icon-btn[disabled],.disclaimer .long{display:none}}@media (width<=900px) and (height<=800px){.suggestions .suggest:nth-child(n+5){display:none}}@media (width<=860px){.hero .wrap{grid-template-columns:1fr}.hero{padding:28px 0 70px}.plate-wrap{width:min(86%,330px);margin-top:6px}.hero-actions .btn{flex:auto}}@media (width<=560px){.site-header{padding:12px 0}.nav .btn{display:none}.section{padding:80px 0 64px}.menu-name:after{display:none}.menu-item a{padding:14px 6px}.menu-go{font-size:.9rem}.hero-actions .btn-primary{flex-basis:100%}.fab{border-radius:31px;height:62px}.fab-face{width:56px;height:56px}.fab-face .bogi{width:48px;margin-top:8px}.fab-teaser{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 76px)}.sticker{width:58px;height:58px}.sticker.s-whisk{width:64px;height:64px;right:0}.sticker.s-egg{left:0}.sticker.s-spoon{display:none}.bubble,.msg.bogi .stack{max-width:90%}.item-card .thumb{width:66px;height:66px}.item-card .thumb svg{width:48px;height:48px}.site-footer .foot-grid{text-align:center;grid-template-columns:minmax(0,1fr)}.foot-name,.foot-links,.site-footer .swatches{justify-content:center}}@media (height<=520px) and (orientation:landscape){.hero{padding:18px 0 60px}}@media (hover:none){.fx-dust{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.suggest,.js .reveal{opacity:1!important;translate:0!important}.js .menu.reveal,.js .stage.reveal{opacity:1!important;rotate:0deg!important;scale:1!important}.bogi .steam circle,.bogi .zzz text{opacity:1}.fx-bit,.fx-dust,.fx-float,.fx-key,.fab:before,.chat-bg{display:none}}.history{z-index:60;background:var(--paper);border-right:2.5px solid var(--outline);width:min(360px,100%);box-shadow:8px 0 0 var(--outline);transition:translate .3s var(--ease-spring);flex-direction:column;gap:12px;padding:18px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;translate:-105%}.history.open{translate:0}.history .h-head{font-family:var(--font-display);justify-content:space-between;align-items:center;font-size:1.3rem;display:flex}.history .h-note{color:var(--muted);font-size:.88rem}.h-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.h-item{border:2px solid var(--outline);background:var(--surface);box-shadow:3px 3px 0 var(--outline);border-radius:14px;grid-template-columns:1fr auto;gap:4px 8px;padding:10px 12px;display:grid}.h-item button.open{text-align:left;font:inherit;background:0 0;border:0;grid-column:1;padding:0;font-weight:800}.h-item .meta{color:var(--muted);grid-column:1;font-size:.8rem}.h-item .del{color:var(--muted);background:0 0;border:0;border-radius:8px;grid-area:1/2/span 2;align-self:center;padding:6px}.h-item .del:hover{color:var(--tomato)}.history .h-clear{width:100%}@media (prefers-reduced-motion:reduce){.history{transition:none}}.notice-wrap{gap:10px;margin-bottom:10px;display:grid}.notice{border:2.5px solid var(--outline);border-radius:var(--radius-lg);background:var(--butter);box-shadow:4px 4px 0 var(--outline);animation:drop .4s var(--ease-spring);grid-template-columns:auto 1fr auto;align-items:center;gap:10px 12px;padding:12px 14px;display:grid}.notice[data-tone=info]{background:var(--sky)}.notice[data-tone=stop]{background:var(--pink)}.notice .n-icon{font-size:1.4rem;line-height:1}.notice h3{margin:0;font-size:1rem}.notice p{margin:2px 0 0;font-size:.92rem}.notice .btn-row{flex-wrap:wrap;gap:8px;display:flex}.privacy-banner{border:2px dashed var(--outline);border-radius:var(--radius-lg);background:var(--paper-2);align-items:center;gap:12px;padding:10px 14px;font-size:.9rem;display:flex}.privacy-banner p{flex:1;margin:0}.privacy-banner a{font-weight:800}.bubble.failed,.msg-failed{border:2px dashed var(--tomato);border-radius:var(--radius-lg);background:var(--paper-2);padding:10px 12px}.msg-failed p{margin:0 0 8px}#demoState{font:inherit;max-width:100%;font-size:.75rem}@media (width<=720px){.notice{grid-template-columns:auto 1fr}.notice .btn-row{grid-column:1/-1}.privacy-banner{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){.notice{animation:none}}.doc-page{width:min(760px,100% - 32px);margin:0 auto;padding:24px 0 64px}.doc-page .back{align-items:center;gap:8px;margin-bottom:16px;font-weight:800;display:inline-flex}.doc-page h1{margin:8px 0 12px;font-size:clamp(1.8rem,5vw,2.4rem)}.doc-page h2{margin:28px 0 8px;font-size:1.35rem}.doc-page h3{margin:18px 0 6px;font-size:1.1rem}.doc-page p,.doc-page li{line-height:1.65}.doc-page ul,.doc-page ol{padding-left:1.3em}.doc-page table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.92rem;display:block;overflow-x:auto}.doc-page th,.doc-page td{text-align:left;border:1.5px solid var(--outline);vertical-align:top;padding:8px 10px}.doc-page th{background:var(--butter)}.doc-page blockquote{border-left:5px solid var(--outline);background:var(--paper-2);border-radius:8px;margin:12px 0;padding:10px 14px}.doc-page code{background:var(--paper-2);border-radius:6px;padding:1px 6px}.doc-page pre{background:var(--paper-2);border-radius:10px;padding:12px;overflow-x:auto}.doc-draft{border:2.5px dashed var(--tomato);border-radius:var(--radius-lg);background:var(--paper-2);margin-bottom:16px;padding:10px 14px;font-weight:700}.form-card{border:2.5px solid var(--outline);border-radius:var(--radius-lg);background:var(--surface);width:min(460px,100% - 32px);box-shadow:6px 6px 0 var(--outline);box-sizing:border-box;margin:32px auto 64px;padding:22px}.form-card h1{margin:6px 0 4px;font-size:1.7rem}.form-card .sub{color:var(--muted);margin-bottom:14px}.form-card[hidden]{display:none}.form-card-wide{width:min(840px,100% - 32px);padding:32px 36px}.form-card-wide h1{margin:2px 0 6px;font-size:clamp(1.65rem,2.5vw,1.95rem)}.form-card-wide .sub{margin-bottom:22px}.form-grid{grid-template-columns:1fr 1fr;align-items:start;gap:28px;display:grid}.form-col{flex-direction:column;min-width:0;display:flex}.form-col .f-field{margin-bottom:16px}.form-col .f-field:last-child{margin-bottom:0}.form-card-wide .f-check{margin-top:20px}.form-card-wide .form-footer{margin-top:6px}@media (width<=767px){.form-card-wide{width:min(460px,100% - 24px);margin:20px auto 48px;padding:22px 18px}.form-grid{flex-direction:column;gap:0;display:flex}.form-col{display:contents}.field-name{order:1}.field-email{order:2}.field-pw{order:3}.field-pw2{order:4}.field-purpose{order:5;margin-bottom:14px}.form-card-wide .f-check{margin-top:10px}}.f-field{gap:5px;margin-bottom:14px;display:grid}.f-field label{font-weight:800}.f-field input[type=text],.f-field input[type=email],.f-field input[type=password],.f-field textarea{font:inherit;border:2px solid var(--outline);background:var(--paper);color:var(--ink);box-sizing:border-box;border-radius:12px;width:100%;padding:10px 12px}.f-field textarea{resize:vertical;min-height:80px}.f-field input:focus,.f-field textarea:focus{outline:3px solid var(--butter)}.f-field .hint{color:var(--muted);font-size:.85rem}.f-field .err{color:var(--tomato);font-size:.85rem;font-weight:700}.f-check{align-items:flex-start;gap:10px;margin:10px 0;font-size:.92rem;display:flex}.f-check input{accent-color:var(--outline);margin-top:4px}.pw-wrap{display:block;position:relative}.f-field .pw-wrap>input[type]{box-sizing:border-box;width:100%;padding-right:3.4rem}.pw-toggle{border:1.5px solid var(--outline);background:var(--paper-2);width:34px;height:34px;color:var(--ink);border-radius:9px;place-items:center;padding:0;transition:scale .12s;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-toggle:active{scale:.92}.pw-toggle .icon svg{width:20px;height:20px}.pw-toggle:focus-visible{outline:3px solid var(--butter)}.pw-check{gap:6px;margin-top:2px;display:grid}.pw-meter{background:var(--paper-2);border:1.5px solid var(--outline);border-radius:99px;height:8px;overflow:hidden}.pw-meter i{height:100%;width:var(--v,0%);background:var(--tomato);transition:width .2s,background-color .2s;display:block}.pw-meter[data-level=mid] i{background:var(--warn)}.pw-meter[data-level=strong] i{background:var(--mint-ink)}.pw-strength{min-height:1.3em;margin:0;font-size:.85rem;font-weight:800}.pw-rules{gap:4px;margin:0;padding:0;font-size:.88rem;list-style:none;display:grid}.pw-rules li{color:var(--muted);grid-template-columns:1.1rem 1fr auto;align-items:baseline;gap:8px;display:grid}.pw-rules .pw-mark:before{content:"○"}.pw-rules li[data-state=ok]{color:var(--mint-ink);font-weight:700}.pw-rules li[data-state=ok] .pw-mark:before{content:"✓"}.pw-rules li[data-state=bad]{color:var(--tomato);font-weight:700}.pw-rules li[data-state=bad] .pw-mark:before{content:"✕"}.pw-count{font-variant-numeric:tabular-nums}.form-card .actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.form-card .alt{margin-top:14px;font-size:.92rem}.turnstile-box{border:2px dashed var(--outline);background:var(--paper-2);border-radius:12px;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;font-size:.9rem;display:flex}.account-wrap{box-sizing:border-box;gap:24px;width:min(1040px,100% - 32px);margin:32px auto 64px;display:grid}.account-header-card{border:2.5px solid var(--outline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:6px 6px 0 var(--outline);box-sizing:border-box;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 24px;display:flex}.account-profile-form{flex:1;min-width:0}.account-profile-main{align-items:flex-start;gap:20px;min-width:0;display:flex}.account-avatar-wrapper{flex:none;justify-content:center;align-items:center;display:flex;position:relative}.account-avatar-frame{background:var(--surface-2);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:24px;place-items:center;width:100px;height:100px;transition:transform .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden;box-shadow:0 4px 14px #0000001f}.account-avatar-frame:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000002e}.account-avatar-frame:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px}.account-avatar-frame .account-avatar{border-radius:0;width:100%;height:100%}.account-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.avatar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;z-index:2;pointer-events:none;background:#1e191473;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.account-avatar-frame:hover .avatar-overlay,.account-avatar-frame:focus-visible .avatar-overlay{opacity:1}.avatar-overlay-icon{background:var(--butter);width:34px;height:34px;color:var(--ink);border:2px solid var(--outline);box-shadow:0 2px 0 var(--hard);border-radius:50%;place-items:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:grid;transform:scale(.85)}.account-avatar-frame:hover .avatar-overlay-icon,.account-avatar-frame:focus-visible .avatar-overlay-icon{transform:scale(1)}.btn-avatar-remove{z-index:5;background:var(--surface);border:2px solid var(--outline);width:30px;height:30px;box-shadow:2px 2px 0 var(--outline);color:var(--tomato);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:transform .15s,background .15s,color .15s;display:grid;position:absolute;top:-6px;right:-6px}.btn-avatar-remove:hover{background:var(--tomato);color:var(--on-tomato);transform:scale(1.12)}.btn-avatar-remove .icon{width:16px;height:16px}.account-profile-fields{flex:1;gap:8px;min-width:0;display:grid}.account-badge-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.account-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--butter);color:var(--ink);border:1.5px solid var(--outline);border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:800;display:inline-flex}.account-email-chip{color:var(--muted);word-break:break-all;font-size:.88rem;font-weight:600}.account-name-group{gap:4px;display:grid}.account-input-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:700}.account-name-row{align-items:center;gap:10px;max-width:480px;display:flex}.account-name-input{border:2px solid var(--outline);background:var(--surface-2);height:40px;color:var(--ink);box-sizing:border-box;border-radius:10px;flex:1;padding:0 12px;font-size:1rem;font-weight:700}.account-name-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-alpha);outline:none}.account-profile-status{min-height:1.2em;font-size:.85rem;font-weight:600}.account-profile-status.info{color:var(--muted)}.account-profile-status.success{color:var(--leaf)}.account-profile-status.error{color:var(--tomato)}.account-header-side{flex:none;align-items:center;gap:10px;display:flex}.btn-admin-panel{background:var(--surface-2);border-color:var(--outline);color:var(--ink);text-decoration:none}.btn-admin-panel:hover{background:var(--brand);color:var(--on-brand)}.account-layout{grid-template-columns:1.15fr 1fr;align-items:start;gap:24px;display:grid}.account-side{gap:24px;min-width:0;display:grid}.account-card{border:2.5px solid var(--outline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:6px 6px 0 var(--outline);box-sizing:border-box;min-width:0;padding:24px 26px}.account-card-header{margin-bottom:16px}.account-card-header h2{margin:0 0 4px;font-size:1.22rem}.account-card-header .sub{color:var(--muted);margin:0;font-size:.88rem;line-height:1.4}.account-card-danger{border-color:var(--outline)}.account-card-danger .text-danger{color:var(--tomato)}.btn-danger{background:var(--tomato);color:var(--on-tomato);border-color:var(--outline)}.btn-danger:hover:not([disabled]){background:var(--tomato);color:var(--on-tomato)}.account-card .actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.account-card .alt{color:var(--muted);margin-top:14px;font-size:.88rem}@media (width<=860px){.account-wrap{gap:18px;width:min(520px,100% - 24px);margin:20px auto 48px}.account-header-card{flex-direction:column;align-items:stretch;gap:16px;padding:16px 18px}.account-profile-main{text-align:center;flex-direction:column;align-items:center;gap:14px}.account-badge-line{justify-content:center}.account-name-row{flex-direction:column;width:100%;max-width:100%}.account-name-input{text-align:center;width:100%}.account-header-side{border-top:1.5px dashed var(--line);justify-content:center;padding-top:14px;display:flex}.account-layout{grid-template-columns:1fr;gap:18px}.account-side{gap:18px}.account-card{padding:20px 18px}}.notice[hidden],.privacy-banner[hidden],.notice-wrap:empty{display:none}[hidden]{display:none!important}.ts-box{grid-column:1/-1;justify-content:center;min-height:65px;margin-top:8px;display:flex}.update-toast{left:50%;top:max(12px, env(safe-area-inset-top));z-index:80;border:2px solid var(--outline);background:var(--surface);max-width:calc(100vw - 24px);color:var(--ink);box-shadow:0 3px 0 var(--hard);border-radius:999px;align-items:center;gap:12px;padding:8px 8px 8px 16px;display:flex;position:fixed;transform:translate(-50%)}@media (pointer:coarse){.btn,.btn-small,.icon-btn,.more-item,.send,.back{min-height:48px}.icon-btn,.send{min-width:48px}.rate-btn{min-width:44px;min-height:44px}.composer textarea{box-sizing:border-box;min-height:48px;padding:11px 0}}
