:root{--navy-950:#07101f;--navy-900:#0b1729;--navy-850:#102038;--navy-800:#172a45;--cream:#f4efe3;--cream-2:#ded7c8;--muted:#8998ad;--line:rgba(244,239,227,.12);--coral:#ef775f;--gold:#d9a441;--cyan:#54b9c6;--danger:#ff8d7c;--radius:18px;--shadow:0 24px 60px rgba(0,0,0,.25)}*{box-sizing:border-box}html{scrollbar-color:var(--navy-800) var(--navy-950)}body,html{background:var(--navy-950)}body{margin:0;min-height:100vh;color:var(--cream);font-family:Noto Sans SC,Microsoft YaHei UI,sans-serif;line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.auth-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:start end;padding:clamp(36px,9vh,110px) clamp(24px,8vw,150px) 120px;overflow:auto;background:#f6f4ef url(/assets/login-maine-coon-bg.webp) bottom/cover no-repeat}.auth-gate:after{display:none}.auth-card{position:relative;z-index:1;width:min(460px,100%);padding:40px;background:rgba(7,16,31,.94);border:1px solid rgba(255,255,255,.18);box-shadow:0 25px 70px rgba(22,24,28,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--cream)}.eyebrow,.section-no{margin:0 0 8px;color:var(--cyan);font:600 .72rem/1.2 Outfit,sans-serif;letter-spacing:.16em}.auth-card h1{margin:0;color:var(--cream);font:700 clamp(2rem,7vw,3.4rem)/1.05 Outfit,Noto Sans SC,sans-serif;letter-spacing:-.04em}.auth-copy{margin:18px 0 28px;color:#a5b0c0}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:22px}.auth-tab{flex:1;padding:12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted)}.auth-tab.active{border-color:var(--cyan);color:var(--cream)}.auth-form,.diary-lock form{display:grid;gap:15px}.auth-form label,.diary-lock label,.place-dialog label,.surface label{display:grid;gap:7px;color:var(--cream-2);font-size:.78rem}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px 13px;background:var(--navy-950);color:var(--cream);outline:none;transition:.18s}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(84,185,198,.13)}.auth-card input::placeholder{color:#aeb9c8;opacity:1}.auth-card .auth-copy,.auth-card .auth-tab:not(.active){color:#a5b0c0}.auth-card .auth-hint{display:block;margin-top:6px;color:#8b97a8;font-size:.72rem;line-height:1.45}.auth-dialog:not([open]){display:none}.auth-dialog[open],dialog.auth-dialog[open]{position:fixed;inset:0;margin:0!important;border:none!important;padding:clamp(36px,9vh,110px) clamp(24px,8vw,150px) 120px!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;border-radius:0!important;overflow:auto;display:grid!important;place-items:start end;color:var(--cream);background:#f6f4ef url(/assets/login-maine-coon-bg.webp) bottom/cover no-repeat!important;box-shadow:none!important}.auth-dialog::backdrop,dialog.auth-dialog::backdrop{background:transparent!important;backdrop-filter:none!important}.auth-dialog>.dialog-close{position:fixed;top:18px;right:22px;z-index:2;float:none;width:42px;height:42px;border:1px solid rgba(7,16,31,.12);border-radius:50%;background:rgba(255,255,255,.82);color:#1f2328;font-size:1.4rem;line-height:1;box-shadow:0 8px 20px rgba(20,24,30,.12)}.auth-dialog>.dialog-close:hover{background:#fff}@media(max-height:760px) and (min-width:821px){.auth-dialog[open],dialog.auth-dialog[open]{padding:20px clamp(24px,8vw,150px) 32px!important}}@media(max-width:820px){.auth-dialog[open],dialog.auth-dialog[open]{place-items:start center;padding:24px 18px 40vh!important;background-color:#f6f4ef!important;background-size:auto 42vh!important;background-position:0 100%!important}}.primary-btn,.secondary-btn{border:0;border-radius:9px;padding:11px 19px;font-weight:700;transition:.18s}.primary-btn{background:#1f2328;color:#f7f4ee}.secondary-btn{background:var(--cream);color:var(--navy-950)}.primary-btn:hover{transform:translateY(-2px);background:#2a3038}.secondary-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}.full{width:100%}.auth-card .primary-btn,.auth-dialog .primary-btn,.badge-admin-card .primary-btn,.badge-upload-card .primary-btn,.changelog-dialog .primary-btn,.place-dialog .primary-btn{background:var(--cream);color:var(--navy-950)}.auth-card .primary-btn:hover,.auth-dialog .primary-btn:hover,.badge-admin-card .primary-btn:hover,.badge-upload-card .primary-btn:hover,.changelog-dialog .primary-btn:hover,.place-dialog .primary-btn:hover{background:#fff;filter:none}.form-message{min-height:1.2em;margin:0;color:var(--danger);font-size:.78rem}.topbar{position:sticky;top:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,56px);background:rgba(7,16,31,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);gap:clamp(8px,1.5vw,18px);flex-wrap:wrap}.cat-logo img{display:block;width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 0 3px rgba(247,240,221,.44))}.work-add-zone{position:relative;margin-top:14px;border:2px dashed rgba(84,185,198,.32);border-radius:14px;transition:.2s;background:transparent}.work-add-zone.drag-over{border-color:var(--cyan);background:rgba(84,185,198,.06)}.work-add-hint{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;color:var(--muted);cursor:pointer;user-select:none}.work-add-hint span{width:34px;height:34px;display:grid;place-items:center;border:2px solid var(--muted);border-radius:50%;font:700 1.3rem/1 Outfit,sans-serif;color:var(--cyan);border-color:var(--cyan)}.work-add-hint p{margin:0;font-size:.82rem}.brand{display:flex;align-items:center;gap:12px;border:0;background:none;color:var(--cream);text-align:left}.brand-cut{width:26px;height:32px;background:linear-gradient(145deg,var(--coral) 0 48%,var(--cream) 48% 100%);clip-path:polygon(30% 0,100% 12%,72% 100%,0 82%)}.brand b{display:block;font-size:.92rem}.brand small{display:block;color:var(--muted);font:600 .58rem Outfit,sans-serif;letter-spacing:.16em}.brand-grid{display:grid;grid-template-columns:repeat(2,8px);gap:3px}.brand-grid i{width:8px;height:8px;border-radius:2px;background:var(--cream-2)}.blog-grid{display:grid;grid-template-columns:repeat(2,9px);gap:3px;transform:rotate(-6deg)}.blog-grid i{width:9px;height:9px;border-radius:2px;background:var(--cream-2)}.blog-grid i:nth-child(2),.blog-grid i:nth-child(3){background:var(--cyan)}.blog-nav{display:flex;align-items:center;gap:clamp(16px,3vw,42px);margin-left:auto;margin-right:clamp(20px,4vw,62px)}.blog-nav button{border:0;background:none;color:var(--cream-2);font-weight:600}.blog-nav button.active,.blog-nav button:hover{color:var(--cyan)}.topbar-tools{display:flex;align-items:center;gap:12px}.global-search-wrap{position:relative}.global-search-results{position:absolute;right:0;top:calc(100% + 8px);display:grid;gap:5px;width:280px;padding:7px;border:1px solid var(--line);border-radius:12px;background:rgba(12,27,48,.9);box-shadow:0 18px 45px rgba(0,0,0,.3);backdrop-filter:blur(20px);z-index:20}.global-search-results:empty{display:none}.global-search-result{display:block;width:100%;padding:9px;border:1px solid transparent;border-radius:8px;background:rgba(255,255,255,.04);color:var(--cream);text-align:left}.global-search-result:hover{border-color:var(--cyan)}.global-search-result small{display:block;color:var(--muted);font-size:.7rem}.global-search{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);overflow:hidden}.global-search input{width:120px;padding:7px 10px;border:0;background:transparent;box-shadow:none;font-size:.75rem}.global-search button{width:32px;border:0;background:transparent;color:var(--cream-2);font-size:1.1rem}.global-search:focus-within{border-color:var(--cyan)}.user-actions{display:flex;align-items:center;gap:16px}.user-chip{padding:5px 10px;border:1px solid var(--line);border-radius:999px;color:var(--cream-2);font-size:.76rem}.text-btn{padding:5px;border:0;background:none;color:var(--cyan);font-size:.78rem}.text-btn:hover{color:var(--cream)}.auth-actions{display:flex;align-items:center;gap:8px}.auth-btn{padding:7px 16px;border-radius:999px;font:700 .78rem/1.1 Noto Sans SC,Outfit,sans-serif;letter-spacing:.02em;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s}.auth-btn:hover{transform:translateY(-1px)}.auth-btn:active{transform:translateY(0)}.auth-btn-ghost{border:1px solid rgba(244,239,227,.22);background:transparent;color:var(--cream-2)}.auth-btn-ghost:hover{border-color:rgba(244,239,227,.45);background:rgba(255,255,255,.05);color:var(--cream)}.auth-btn-solid{border:1px solid transparent;background:var(--cream);color:var(--navy-950);box-shadow:0 6px 16px rgba(0,0,0,.18)}.auth-btn-solid:hover{background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.22)}main{width:min(1380px,calc(100% - 36px));margin:auto;padding:24px 0 54px}.zone{display:none}.zone.active{display:block}.zone-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:25px}.zone-heading h2{margin:0;font:700 clamp(2.1rem,5vw,4.4rem)/1 Outfit,Noto Sans SC,sans-serif;letter-spacing:-.045em}.zone-heading>div>p:last-child{margin:13px 0 0;color:var(--muted)}.map-legend{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.76rem}.map-legend span{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(239,119,95,.12)}.profile-home{isolation:isolate;padding:clamp(28px,5vw,68px);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:26px;background:radial-gradient(circle at 55% 105%,rgba(255,231,171,.92) 0 10%,rgba(230,99,92,.2) 11% 21%,transparent 22%),linear-gradient(165deg,#20123c,#4d173e 42%,#8e2f4e 68%,#ca6150);box-shadow:0 32px 80px rgba(0,0,0,.32)}.profile-home:before{content:"";position:absolute;z-index:-1;left:-8%;right:-8%;bottom:-8%;height:44%;background:linear-gradient(155deg,transparent 0 22%,rgba(45,12,41,.78) 22.5% 36%,transparent 36.5%),linear-gradient(205deg,transparent 0 30%,rgba(24,13,38,.95) 30.5% 58%,transparent 58.5%),linear-gradient(170deg,transparent 0 42%,#100d1c 42.5% 100%);clip-path:polygon(0 35%,10% 26%,17% 46%,26% 25%,35% 52%,46% 20%,55% 48%,67% 22%,77% 45%,87% 18%,100% 38%,100% 100%,0 100%)}.profile-stars{position:absolute;inset:0;z-index:-2;opacity:.75;background-image:radial-gradient(circle at 12% 13%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 28% 22%,#fff 0 1.5px,transparent 2px),radial-gradient(circle at 48% 10%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 67% 18%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 86% 11%,#fff 0 1.5px,transparent 2px),radial-gradient(circle at 92% 31%,#fff 0 1px,transparent 1.5px)}.profile-hero-line{display:grid;grid-template-columns:1.2fr .8fr .68fr;align-items:stretch;gap:16px}.profile-logo{display:flex;align-items:center;gap:24px;padding:10px}.profile-cat{width:72px;height:72px;object-fit:contain;transform:rotate(-6deg);filter:drop-shadow(0 0 12px rgba(247,240,221,.32))}.profile-kicker{margin:0;color:rgba(255,255,255,.62);font:700 .68rem Outfit,sans-serif;letter-spacing:.2em}.profile-logo h1{margin:2px 0 5px;font:800 clamp(2.4rem,5vw,5rem)/.95 Outfit,Noto Sans SC,sans-serif;letter-spacing:-.055em}.profile-logo p:last-child{margin:0;color:rgba(255,255,255,.7)}.profile-clock,.profile-intro,.profile-links,.profile-quote{border:1px solid rgba(255,255,255,.15);background:rgba(37,13,40,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 20px 50px rgba(21,5,28,.22);backdrop-filter:blur(20px) saturate(125%)}.profile-quote{display:flex;flex-direction:column;justify-content:center;padding:24px;border-radius:15px;font-size:1.05rem;line-height:1.7}.profile-quote small{align-self:flex-end;margin-top:10px;color:rgba(255,255,255,.55)}.profile-clock{display:flex;flex-direction:column;justify-content:center;padding:22px;border-radius:15px}.profile-clock span,.profile-clock time{color:rgba(255,255,255,.62);font-size:.68rem}.profile-clock strong{margin:8px 0 5px;font:700 clamp(1.5rem,3vw,2.5rem)/1 Outfit,sans-serif;letter-spacing:.05em}.profile-body{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;margin-top:22px}.profile-intro{position:relative;min-height:290px;padding:46px 38px;border-radius:16px}.profile-intro h2{margin:10px 0;font-size:clamp(1.45rem,2.3vw,2.1rem)}.profile-intro>p:last-of-type{max-width:430px;color:rgba(255,255,255,.65);line-height:1.8}.quote-mark{position:absolute;left:20px;top:5px;color:rgba(255,255,255,.25);font:700 4rem serif}.quote-mark.end{left:auto;right:24px;top:auto;bottom:-18px}.profile-links{padding:28px;border-radius:16px}.profile-section-title{display:flex;align-items:center;gap:10px;margin-bottom:20px}.profile-section-title h2{margin:0;font-size:1.2rem}.profile-section-title span{font-size:1.5rem}.profile-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:stretch}.profile-link{height:100%;min-height:188px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:18px 18px 16px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(84,23,56,.58);color:#fff;text-align:left;transition:.22s}.profile-link:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.4);background:rgba(119,40,70,.72)}.profile-link>span{display:block;min-height:1.1em;margin:0 0 14px;color:rgba(255,255,255,.45);font:700 .75rem/1 Outfit,sans-serif;letter-spacing:.04em}.profile-link strong{display:block;min-height:1.35em;margin:0;font-size:1.12rem;line-height:1.25;font-weight:800}.profile-link small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.6em;margin-top:8px;color:rgba(255,255,255,.58);font-size:.78rem;line-height:1.3}.profile-home{min-height:760px;background:linear-gradient(90deg,rgba(248,247,244,0) 28%,rgba(248,247,244,.16) 48%,rgba(248,247,244,.68)),url(/assets/home-maine-coon-bg.webp) 20% bottom/cover no-repeat;color:#202124;border-color:rgba(32,35,40,.12);box-shadow:0 28px 70px rgba(27,29,32,.15)}.profile-home:before,.profile-stars{display:none}.profile-home .profile-kicker{color:#6f7378}.profile-home .profile-logo h1{color:#202124}.profile-home .profile-logo p:last-child{color:#555b61}.profile-home .profile-cat{filter:drop-shadow(0 5px 10px rgba(30,32,35,.18))}.profile-home .profile-clock,.profile-home .profile-intro,.profile-home .profile-links,.profile-home .profile-quote{color:#25282b;background:rgba(255,255,255,.78);border-color:rgba(30,32,35,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 12px 36px rgba(30,30,30,.08);backdrop-filter:blur(12px) saturate(105%)}.profile-home .profile-clock span,.profile-home .profile-clock time,.profile-home .profile-intro>p:last-of-type,.profile-home .profile-quote small{color:#62676c}.profile-home .quote-mark{color:rgba(32,35,40,.18)}.profile-home .profile-body{grid-template-columns:.82fr 1.18fr;align-items:start}.profile-home .profile-intro,.profile-home .profile-links{grid-column:2}.profile-home .profile-intro{min-height:205px;padding:38px}.profile-home .profile-link{color:#272a2e;background:rgba(244,242,237,.9);border-color:rgba(32,35,40,.11);box-shadow:0 7px 20px rgba(30,30,30,.05)}.profile-home .profile-link:hover{background:rgba(255,255,255,.96);border-color:rgba(32,35,40,.28)}.profile-home .profile-link small,.profile-home .profile-link>span{color:#73777c}.profile-home .profile-section-title span{color:#526a7a}.profile-footer{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:-10px;padding:16px 0 0;color:rgba(255,255,255,.3)}.profile-footer span{font:600 .75rem Outfit,sans-serif;letter-spacing:.12em}.profile-footer small{font:500 .65rem Outfit,sans-serif;opacity:.6}.profile-home{position:relative}.version-badge{position:absolute;z-index:10;top:18px;left:20px;padding:5px 12px;border:1px solid rgba(32,35,40,.12);border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);color:#2a3138;font:700 .72rem/1 Outfit,sans-serif;letter-spacing:.08em;pointer-events:none;box-shadow:0 6px 16px rgba(30,32,35,.08)}.profile-zone{position:relative}.solar-marquee{display:flex;align-items:center;gap:12px;margin:0 0 16px;min-height:44px;padding:8px 12px 8px 10px;border-radius:14px;border:1px solid rgba(32,35,40,.08);background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(248,244,236,.95));box-shadow:0 10px 28px rgba(30,32,35,.05);color:#2a3138;overflow:hidden}.solar-marquee-tag{box-sizing:border-box;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 11px;border-radius:999px;background:linear-gradient(120deg,#ef775f,#d9a441);color:#fff;font:700 .7rem/1 Outfit,Noto Sans SC,sans-serif;letter-spacing:.06em;white-space:nowrap;text-transform:uppercase;box-shadow:0 4px 12px rgba(239,119,95,.22)}.solar-marquee-tag[data-tag=BIRTHDAY]{background:linear-gradient(120deg,#ef775f,#e0914a);letter-spacing:.08em}.solar-marquee-tag[data-tag=SOLAR]{background:linear-gradient(120deg,#3d8b7a,#d9a441)}.solar-marquee-tag[data-tag=NOTICE]{background:linear-gradient(120deg,#4a5d73,#6b7c8f)}.solar-marquee-track-wrap{flex:1 1 auto;min-width:0;overflow:hidden;display:flex;align-items:center;height:28px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.solar-marquee-track{display:inline-flex;width:max-content;gap:0;align-items:center;animation:solarMarquee 18s linear infinite;font:600 .88rem/1 Noto Sans SC,sans-serif;color:#3d4650;white-space:nowrap;will-change:transform}.solar-marquee-track span{padding-right:48px;display:inline-block;line-height:1}@keyframes solarMarquee{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@media(prefers-reduced-motion:reduce){.solar-marquee-track{animation:solarMarquee 40s linear infinite}}.comment-image{display:inline-block;margin-top:10px;max-width:min(100%,280px);border-radius:12px;overflow:hidden;border:1px solid rgba(244,239,227,.14)}.comment-image img{display:block;width:100%;max-height:220px;object-fit:cover;background:rgba(0,0,0,.08)}.comment-image-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.comment-image-pick{position:relative;display:inline-flex;align-items:center}.comment-image-pick input{position:absolute;inset:0;opacity:0;cursor:pointer}.comment-image-pick span{display:inline-flex;padding:8px 12px;border-radius:999px;border:1px dashed rgba(244,239,227,.28);color:var(--cream-2);font-size:.78rem;font-weight:700;background:rgba(255,255,255,.03)}.comment-image-pick:hover span{border-color:var(--cyan);color:var(--cream)}.comment-image-name{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.76rem;max-width:100%}.place-dialog .comment-image-pick span{border-color:rgba(244,239,227,.22)}.map-frame{position:relative;height:min(59vh,610px);min-height:430px;margin-bottom:18px;overflow:hidden;border:1px solid var(--line);background:var(--navy-850)}#map{height:100%;width:100%;background:#16263b}.map-hint{position:absolute;z-index:450;left:18px;bottom:18px;padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(7,16,31,.88);color:var(--cream-2);font-size:.76rem;pointer-events:none}.leaflet-control-attribution{font-size:9px!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--navy-900);color:var(--cream)}.leaflet-popup-content-wrapper{border-radius:10px}.leaflet-container a{color:var(--cyan)}.picked-marker{display:grid;place-items:center;background:transparent}.picked-marker span{display:block;width:18px;height:18px;border:3px solid #f4efe3;border-radius:50%;background:var(--coral);box-shadow:0 0 0 6px rgba(239,119,95,.2),0 4px 16px rgba(0,0,0,.35)}.search-note{color:var(--muted);font:500 .72rem/1.5 Noto Sans SC,sans-serif;letter-spacing:0}.food-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:18px}.surface{padding:23px;border:1px solid rgba(244,239,227,.16);border-radius:var(--radius);background:linear-gradient(135deg,rgba(30,48,75,.74),rgba(10,24,44,.66));box-shadow:0 18px 45px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%)}.surface-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:18px}.coming-grid h3,.place-dialog h3,.surface h3,.tool-intro h3{margin:0;font:700 1.3rem/1.2 Outfit,Noto Sans SC,sans-serif}.surface-head output{color:var(--muted);font-size:.72rem}.form-grid{display:grid;gap:13px}.form-grid.two{grid-template-columns:1fr 180px}.surface>label{margin-top:13px}.form-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.form-row .form-message{flex:1}.count-badge{display:grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:var(--cream);color:var(--navy-950);font:700 .8rem Outfit,sans-serif}.place-list{display:grid;gap:9px;max-height:270px;overflow:auto;padding-right:4px}.place-item{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px;padding:13px;border:1px solid transparent;border-radius:10px;background:var(--navy-850);color:var(--cream);text-align:left}.place-item:hover{border-color:var(--line);transform:translateX(2px)}.place-item b{display:block}.place-item small{color:var(--muted)}.place-score{color:var(--gold);font:700 .9rem Outfit,sans-serif}.empty-state{margin:0;padding:22px;color:var(--muted);text-align:center;font-size:.82rem}.work-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.work-item{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:20px;padding:18px 22px;border:1px solid rgba(244,239,227,.14);border-radius:16px;background:linear-gradient(120deg,rgba(35,55,82,.66),rgba(12,27,48,.58));box-shadow:0 14px 35px rgba(0,0,0,.16);backdrop-filter:blur(18px);transition:.2s}.work-item.active{border-color:rgba(84,185,198,.42)}.work-item:hover:not(.disabled){transform:translateX(4px);border-color:var(--cyan)}.work-item.disabled{opacity:.52}.work-number{font:700 1.8rem Outfit,sans-serif;color:var(--cyan)}.work-copy h3{margin:0;font-size:1.12rem}.work-copy p:last-child{margin:5px 0 0;color:var(--muted);font-size:.8rem}.work-item>span{color:var(--muted);font-size:.75rem}.tool-intro{position:relative;min-height:260px;display:flex;align-items:end;justify-content:space-between;gap:30px;padding:38px;overflow:hidden;background:var(--cream);color:var(--navy-950)}.tool-intro:after{content:"";position:absolute;right:16%;top:-26%;width:250px;height:260px;background:var(--coral);clip-path:polygon(45% 0,100% 22%,78% 100%,0 68%);opacity:.95}.tool-intro>button,.tool-intro>div{position:relative;z-index:1}.tool-index{display:block;margin-bottom:28px;color:var(--coral);font:700 3.2rem Outfit,sans-serif}.tool-intro p:last-child{margin:10px 0 0;color:#4b5565}.tool-frame{margin-top:18px;border:1px solid var(--line);background:var(--navy-900);border-radius:12px;overflow:hidden}.tool-frame iframe{display:block;width:100%;height:780px;border:0}.coming-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.coming-grid article{min-height:150px;padding:25px;border:1px solid var(--line);background:var(--navy-900)}.coming-grid span{font:600 .65rem Outfit,sans-serif;letter-spacing:.15em}.coming-grid p,.coming-grid span{color:var(--muted)}.community-shell{position:relative;min-height:650px;padding:clamp(34px,5vw,70px);overflow:hidden;border-radius:26px;background:radial-gradient(circle at 16% 20%,rgba(153,202,239,.48),transparent 34%),linear-gradient(125deg,#6e98cd,#8b90c7 52%,#7379ac);box-shadow:0 28px 70px rgba(15,27,58,.28)}.community-shell:before{content:"";position:absolute;left:-90px;bottom:-120px;width:360px;height:360px;border-radius:44% 56% 38% 62%;background:linear-gradient(145deg,rgba(218,235,255,.8),rgba(112,143,198,.35));transform:rotate(18deg);box-shadow:inset -34px 28px 0 rgba(255,255,255,.3)}.community-glow{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.09),transparent 45%)}.community-content,.community-heading,.community-tabs{position:relative;z-index:1}.community-heading{max-width:470px}.community-heading .section-no{color:rgba(255,255,255,.68)}.community-heading h2{margin:3px 0 10px;font:800 clamp(2.5rem,6vw,5rem)/.95 Outfit,Noto Sans SC,sans-serif;letter-spacing:-.05em}.community-heading>p:last-child{color:rgba(255,255,255,.76)}.community-tabs{display:flex;align-items:center;margin-top:30px;padding:8px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(62,77,140,.53);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 15px 35px rgba(43,52,105,.22);backdrop-filter:blur(18px)}.community-tabs button{display:flex;align-items:center;gap:8px;padding:12px 20px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.72);font-weight:700}.community-tabs button.active{color:#24283a;background:#f1b83f;box-shadow:0 7px 18px rgba(74,59,29,.22)}.community-tabs span{font-size:1.05rem}.community-content{margin:22px 0 0;clear:both}.community-panel{padding:26px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(72,89,151,.46);box-shadow:0 22px 50px rgba(36,45,93,.24);backdrop-filter:blur(20px)}.community-panel-title{margin-bottom:18px}.community-panel-title span{color:rgba(255,255,255,.6);font:700 .65rem Outfit,sans-serif;letter-spacing:.16em}.community-panel-title h3{margin:4px 0 0;font-size:1.35rem}.community-list{overflow:hidden;border-radius:14px}.community-shell .user-list-item{grid-template-columns:48px 1fr auto;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.13);background:rgba(174,192,229,.42)}.community-shell .user-list-item:nth-child(2n){background:rgba(101,125,181,.5)}.community-shell .user-number{color:#fff}.community-shell .user-list-item small{color:rgba(255,255,255,.7)}.community-message-form{display:grid;gap:10px;margin-bottom:18px}.community-message-form textarea{color:#202433;background:rgba(255,255,255,.86);border-color:rgba(255,255,255,.4);resize:vertical}.community-message-form textarea::placeholder{color:#6c7280}.community-primary{padding:10px 18px;border:0;border-radius:999px;background:#f1b83f;color:#292836;font-weight:800}.message-list{display:grid;gap:2px}.community-message{position:relative;padding:17px 86px 17px 18px;background:rgba(174,192,229,.42)}.community-message:nth-child(2n){background:rgba(101,125,181,.5)}.community-message p{margin:4px 0 8px;white-space:pre-wrap}.community-message small{color:rgba(255,255,255,.68)}.community-delete{position:absolute;right:15px;top:15px;padding:5px 9px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(20,28,59,.24);color:#fff;font-size:.7rem}.friend-link-card{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:16px;padding:18px;border-radius:14px;background:rgba(174,192,229,.5);color:#fff;transition:.2s}.friend-link-card:hover{transform:translateY(-3px);background:rgba(187,201,234,.65)}.friend-link-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.2);font-size:1.4rem}.friend-link-card small,.friend-link-card strong{display:block}.friend-link-card small{margin-top:4px;color:rgba(255,255,255,.7)}.friend-link-card>b{color:#f1b83f;font-size:.8rem}.work-add-copy{display:grid;gap:2px}.work-file-note{display:block;color:#a6b4c6;font-size:.72rem;line-height:1.45}.community-shell{color:#f7f8fc;background:#f4f2ec url(/assets/community-maine-coon-bg.webp) 0 100%/cover no-repeat}.community-shell:before{left:0;right:0;top:0;bottom:0;width:auto;height:auto;border-radius:0;background:linear-gradient(90deg,rgba(8,10,12,.08),rgba(8,10,12,.14) 32%,rgba(8,10,12,.46) 61%,rgba(8,10,12,.72));transform:none;box-shadow:none}.community-glow{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 42%,rgba(5,7,9,.12))}.community-heading .section-no{color:rgba(24,31,37,.62)}.community-heading h2{color:#182129;text-shadow:0 1px 0 rgba(255,255,255,.7)}.community-heading>p:last-child{color:rgba(24,31,37,.78)}.community-tabs{border-color:rgba(255,255,255,.24);background:rgba(13,17,21,.66);box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 15px 35px rgba(13,17,21,.2)}.community-tabs button:not(.active){color:rgba(255,255,255,.88)}.community-content{width:min(720px,92%);margin-top:22px}.community-panel{border-color:rgba(255,255,255,.2);background:rgba(12,14,16,.58);box-shadow:0 22px 50px rgba(15,18,21,.28)}.community-panel-title span{color:rgba(255,255,255,.68)}.community-shell .user-list-item{border-color:rgba(255,255,255,.14)}.community-shell .empty-state,.community-shell .user-list-item small{color:rgba(255,255,255,.82)}.user-list-item{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.user-list-item:last-child{border:0}.user-number{font:700 1rem Outfit,sans-serif;color:var(--cyan)}.user-list-item b{font-size:1rem}.user-list-item small{color:var(--muted)}.user-list .empty-state{padding:30px;text-align:center}.credits-card,.user-list{padding:28px}.user-list .empty-state{color:var(--cream-2)}.credits-card h3{font-size:1.5rem;margin:10px 0}.credits-card blockquote{margin:18px 0 0;padding:14px 18px;border-left:3px solid var(--coral);background:var(--navy-850);color:var(--muted);font-style:italic}.diary-lock{width:min(530px,100%);margin:60px auto;text-align:center;padding:48px}.lock-symbol{position:relative;width:58px;height:48px;margin:0 auto 30px;border:5px solid var(--coral);border-radius:8px}.lock-symbol span{position:absolute;left:10px;right:10px;top:-31px;height:35px;border:5px solid var(--coral);border-bottom:0;border-radius:30px 30px 0 0}.diary-lock>p:not(.section-no){color:var(--muted)}.diary-lock form{margin-top:28px;text-align:left}.diary-toolbar{display:flex;justify-content:space-between;padding:12px 0 18px;border-bottom:1px solid var(--line);margin-bottom:18px;color:var(--muted)}.diary-toolbar p{margin:0}.diary-layout{display:grid;grid-template-columns:minmax(320px,.7fr) minmax(0,1.3fr);gap:18px}.diary-editor{align-self:start;position:sticky;top:100px}.diary-list{display:grid;gap:12px}.diary-entry{position:relative;padding:24px;border:1px solid var(--line);background:var(--navy-900)}.diary-entry h3{margin:0 48px 3px 0}.diary-entry time{color:var(--muted);font-size:.72rem}.diary-entry p{white-space:pre-wrap;color:var(--cream-2)}.delete-btn{position:absolute;right:18px;top:18px;border:0;background:none;color:var(--muted)}.delete-btn:hover{color:var(--danger)}.dock{position:fixed;z-index:600;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:4px;padding:6px;border:1px solid var(--line);border-radius:14px;background:rgba(11,23,41,.94);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.dock-btn{display:flex;gap:9px;align-items:center;min-width:105px;justify-content:center;padding:10px 14px;border:0;border-radius:9px;background:none;color:var(--muted)}.dock-btn span{font:600 .65rem Outfit,sans-serif}.dock-btn.active{background:var(--cream);color:var(--navy-950)}.place-dialog,.settings-dialog{position:fixed;inset:0;margin:auto;max-width:calc(100% - 30px);border:1px solid var(--line);border-radius:var(--radius);background:var(--navy-900);color:var(--cream);box-shadow:var(--shadow)}.settings-dialog{width:min(460px,calc(100% - 30px))}.place-dialog,.settings-dialog{height:fit-content;max-height:86vh;overflow:auto;padding:30px}.place-dialog{width:min(720px,calc(100% - 30px))}.place-dialog::backdrop,.settings-dialog::backdrop{background:rgba(3,8,16,.78);backdrop-filter:blur(5px)}.settings-dialog h3{margin:0 0 8px;font:700 1.3rem/1.2 Outfit,Noto Sans SC,sans-serif}.settings-dialog form{display:grid;gap:14px;margin-top:22px}.settings-dialog label{display:grid;gap:7px;color:var(--cream-2);font-size:.78rem}.settings-dialog .form-row{margin-top:4px}.dialog-close{float:right;border:0;background:none;font-size:1.5rem}.dialog-close,.dialog-meta{color:var(--muted)}.dialog-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.dialog-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.dialog-section-head h4{margin:0;font:700 1rem Outfit,Noto Sans SC,sans-serif}.dialog-section-head span{color:var(--muted);font-size:.72rem}.image-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.image-card{position:relative;overflow:hidden;min-height:130px;background:var(--navy-850)}.image-card img{display:block;width:100%;height:100%;min-height:130px;object-fit:cover}.image-card small{position:absolute;left:7px;bottom:7px;padding:3px 6px;border-radius:5px;background:rgba(7,16,31,.82);color:var(--cream-2)}.image-upload-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:12px}.image-upload-form .form-message{grid-column:1/-1}.upload-label input{padding:8px}.comments{display:grid;gap:8px;margin:0;max-height:260px;overflow:auto}.comment p{margin:2px 0}.comment small{color:var(--muted)}.comment strong{color:var(--gold)}.place-dialog form{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:18px}.admin-badge,.header-admin-badge{border-radius:999px;border:1px solid rgba(120,210,255,.55);background:linear-gradient(120deg,#16324a,#2f6f8f 55%,#5ec8e8);color:#eaf8ff;font:800 .68rem/1.2 Outfit,Noto Sans SC,sans-serif;box-shadow:0 0 12px rgba(80,180,230,.35)}.admin-badge,.beta-badge,.header-admin-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;letter-spacing:.04em}.beta-badge{border-radius:999px;border:1px solid rgba(241,184,63,.55);background:linear-gradient(120deg,rgba(241,184,63,.28),rgba(239,119,95,.22));color:#ffe7a8;font:700 .68rem/1.2 Outfit,Noto Sans SC,sans-serif;text-shadow:0 0 10px rgba(241,184,63,.35)}.golden-fisher-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;border-radius:999px;border:1px solid rgba(255,210,90,.75);background:linear-gradient(120deg,#f6d365,#fda085);color:#4a2a00;font:800 .68rem/1.2 Outfit,Noto Sans SC,sans-serif;letter-spacing:.04em;box-shadow:0 0 12px rgba(255,196,70,.45)}.user-role-tag{display:inline-flex;margin-left:8px;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.14);color:rgba(255,255,255,.78);font-size:.65rem}.friend-identity{display:flex;align-items:center;flex-wrap:wrap;gap:2px 0}.comment{position:relative;padding:12px;border-left:2px solid var(--coral);background:var(--navy-850);border-radius:0 10px 10px 0}.comment-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.comment-head strong{color:var(--gold)}.comment-head small{color:var(--muted);font-size:.72rem}.comment-actions{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}.comment-delete,.comment-reply{min-height:32px;padding:5px 10px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.04);color:var(--cream-2);font-size:.72rem;font-weight:700;transition:.18s}.comment-reply:focus-visible,.comment-reply:hover{border-color:var(--cyan);color:var(--cyan);outline:none}.comment-delete{border-color:rgba(255,141,124,.42);background:rgba(255,141,124,.08);color:var(--danger)}.comment-delete:focus-visible,.comment-delete:hover{border-color:var(--danger);background:rgba(255,141,124,.16);outline:none}.comment-delete:focus-visible{box-shadow:0 0 0 3px rgba(255,141,124,.18)}.comment-replies{display:grid;gap:8px;margin-top:10px;padding-left:12px;border-left:2px solid rgba(84,185,198,.28)}.comment.reply{border-left-color:var(--cyan);background:rgba(12,27,48,.55)}.comment.reply .reply-label{color:var(--cyan);font-size:.78rem}.reply-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(84,185,198,.28);border-radius:10px;background:rgba(84,185,198,.08);color:var(--cream-2);font-size:.82rem}.reply-banner b{color:var(--cyan)}.primary-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}@media(max-height:760px) and (min-width:821px){.auth-gate{padding:20px clamp(24px,8vw,150px) 32px}.auth-card{width:min(440px,100%);padding:24px 32px}.auth-copy{margin:12px 0 18px}.auth-tabs{margin-bottom:14px}.auth-form{gap:10px}}@media(max-width:820px){.auth-gate{place-items:start center;padding:24px 18px 40vh;background-color:#f6f4ef;background-size:auto 42vh;background-position:0 100%}.auth-gate:after{display:none}.diary-layout,.food-layout,.profile-body{grid-template-columns:1fr}.diary-editor{position:static}.tool-intro{min-height:320px}.tool-intro:after{right:-18%;top:-10%}.coming-grid{grid-template-columns:1fr}.map-frame{min-height:400px}.zone-heading{align-items:start}.map-legend{display:none}.profile-hero-line{grid-template-columns:1fr 1fr}.profile-logo{grid-column:1/-1}.profile-home{min-height:900px;background-position:50%,18% bottom}.profile-home .profile-body{grid-template-columns:1fr}.profile-home .profile-intro,.profile-home .profile-links{grid-column:1}.profile-link-grid{grid-template-columns:repeat(3,1fr)}.community-content{width:100%;margin:28px 0 0}.community-tabs{margin-top:24px}}@media(max-width:560px){.auth-card{padding:28px 22px}.topbar{padding:12px 15px;flex-wrap:wrap;gap:10px}.brand b{font-size:.8rem}.brand small{display:none}.blog-nav{display:flex;order:3;width:100%;justify-content:space-between;margin:0;padding-top:8px;border-top:1px solid var(--line)}.topbar-tools{gap:6px}.global-search input{width:80px}.user-chip{display:none}main{width:min(100% - 24px,1240px);padding-top:34px}.profile-hero-line,.profile-link-grid{grid-template-columns:1fr}.profile-home{padding:24px 24px 390px;min-height:1450px;background-size:cover,auto 32%;background-position:50%,bottom;background-color:#f8f7f4}.profile-logo{grid-column:auto}.profile-cat{width:54px;height:54px}.zone-heading h2{font-size:2.25rem}.map-frame{height:54vh;min-height:360px}.image-upload-form,.search-row{grid-template-columns:1fr}.image-gallery{grid-template-columns:1fr 1fr}.work-item{grid-template-columns:42px 1fr;gap:12px;padding:15px}.work-item .secondary-btn,.work-item>span{grid-column:2;justify-self:start}.form-grid.two{grid-template-columns:1fr}.surface{padding:18px}.tool-intro{padding:24px;align-items:start;flex-direction:column}.tool-frame iframe{height:680px}.dock{bottom:10px;width:calc(100% - 22px)}.dock-btn{min-width:0;flex:1}.form-row{align-items:stretch;flex-direction:column}.form-row .primary-btn{width:100%}.community-shell{padding:25px;min-height:720px}.community-tabs{width:100%;padding:5px;overflow-x:auto}.community-tabs button{flex:1;justify-content:center;min-width:max-content;padding:10px 12px}.community-panel{padding:18px}.community-shell .user-list-item{grid-template-columns:38px 1fr;padding:14px}.community-shell .user-list-item small{grid-column:2}.friend-link-card{grid-template-columns:44px 1fr}.friend-link-card>b{grid-column:2}.community-message{padding-right:70px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.badge-zone{padding:clamp(24px,3vw,48px) 0}.badge-shell{position:relative;min-height:780px;padding:clamp(28px,4vw,50px);border-radius:26px;background:#ffffff;box-shadow:0 28px 70px rgba(8,10,26,.08)}.badge-heading{margin-bottom:24px}.badge-heading h2{margin:2px 0 8px;font:800 clamp(2.2rem,5vw,4rem)/.95 Outfit,Noto Sans SC,sans-serif;letter-spacing:-.05em}.badge-heading>p:last-child{color:#888}.badge-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}.badge-toolbar-left,.badge-toolbar-right{display:flex;align-items:center;gap:12px}.badge-count{padding:5px 12px;border-radius:999px;background:rgba(84,185,198,.15);color:#54b9c6;font:700 .82rem Outfit,sans-serif}.badge-mine-tag{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(239,119,95,.13);color:#ef775f;font-size:.82rem}.badge-mine-tag.pending{background:rgba(217,164,65,.13);color:#d9a441}.badge-wall{position:relative;width:100%;height:min(78vh,780px);overflow:hidden;border:1px solid #eee;border-radius:16px;background:#fff;box-shadow:inset 0 2px 8px rgba(0,0,0,.04);user-select:none;cursor:default}.badge-wall-grid{position:absolute;inset:0;opacity:.25;background-image:radial-gradient(circle,rgba(0,0,0,.08) 1px,transparent 1.5px);background-size:20px 20px}.badge-item{position:absolute;border-radius:12px;border:2px solid #eee;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:box-shadow .15s,transform .1s;cursor:grab;z-index:1}.badge-item.mine{border-color:#54b9c6}.badge-item.mine:hover{border-color:#54b9c6;box-shadow:0 0 0 3px rgba(84,185,198,.25)}.badge-item.mine:before{content:"";position:absolute;inset:-4px;z-index:-1;border-radius:16px;background:conic-gradient(from var(--a,0deg),rgba(84,185,198,.7),rgba(239,119,95,.5),rgba(84,185,198,.3),rgba(84,185,198,.7));opacity:0;transition:opacity .35s;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:exclude;mask-composite:exclude;padding:3px;animation:glowRotate 3s linear infinite}@keyframes glowRotate{to{--a:360deg}}@property --a{syntax:"<angle>";initial-value:0deg;inherits:false}.badge-item.mine:hover:before{opacity:1}.badge-item.dragging{z-index:100;box-shadow:0 8px 30px rgba(0,0,0,.18);transform:scale(1.05);cursor:grabbing}.badge-item.dragging:before{opacity:1!important}.badge-item img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;border-radius:10px}.badge-edit-hint{position:absolute;left:0;right:0;bottom:0;padding:4px;background:rgba(0,0,0,.6);color:#fff;font-size:.62rem;text-align:center;opacity:0;transition:opacity .2s}.badge-item.mine:hover .badge-edit-hint,.badge-item:not(.mine):hover .badge-edit-hint{opacity:1}.badge-overlay{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:rgba(3,8,16,.7);backdrop-filter:blur(4px);padding:20px}.badge-admin-card,.badge-upload-card{width:min(480px,100%);max-height:86vh;overflow:auto;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:var(--navy-900);color:var(--cream);box-shadow:var(--shadow)}.badge-admin-card h3,.badge-upload-card h3{margin:0 0 8px;font:700 1.3rem/1.2 Outfit,Noto Sans SC,sans-serif}.badge-upload-card form{display:grid;gap:15px;margin-top:22px}.badge-upload-card label{display:grid;gap:7px;color:var(--cream-2);font-size:.78rem}.pending-badge-list{display:grid;gap:12px;margin-top:18px}.pending-badge-item{display:grid;grid-template-columns:80px 1fr auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--navy-850)}.pending-badge-preview{width:80px;height:80px;object-fit:cover;border-radius:8px;background:var(--navy-800)}.pending-badge-info strong{display:block}.pending-badge-info small{display:block;color:var(--muted);font-size:.72rem;margin-top:4px}.pending-badge-actions{display:flex;gap:8px;flex-direction:column}@media(max-width:700px){.pending-badge-item{grid-template-columns:60px 1fr}.pending-badge-item .pending-badge-actions{grid-column:1/-1}.badge-item{border-radius:8px}.badge-wall{height:min(70vh,600px)}}@media(max-width:560px){.badge-shell{padding:20px}.badge-toolbar{flex-direction:column;align-items:start}}.food-zone{padding:0}.food-shell{position:relative;isolation:isolate;padding:clamp(24px,3.5vw,42px);border:1px solid rgba(32,35,40,.1);border-radius:26px;overflow:hidden;color:#202124;background:radial-gradient(circle at 88% 12%,rgba(239,119,95,.12),transparent 28%),radial-gradient(circle at 12% 8%,rgba(84,185,198,.12),transparent 30%),linear-gradient(165deg,#fbf9f5,#f4f1ea 48%,#efebe3);box-shadow:0 24px 60px rgba(30,32,35,.08)}.food-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.55),transparent 42%),radial-gradient(circle at 50% 120%,rgba(217,164,65,.1),transparent 42%)}.food-heading{position:relative;z-index:1}.food-shell .zone-heading h2{color:#1f2328;background:none;-webkit-background-clip:initial;background-clip:initial}.food-shell .map-legend,.food-shell .search-note,.food-shell .zone-heading>div>p:last-child{color:#6b7178}.food-shell .section-no{color:#3f8f9a}.food-shell .map-frame{border-radius:18px;border:1px solid rgba(32,35,40,.1);box-shadow:0 16px 40px rgba(30,32,35,.08),inset 0 1px 0 rgba(255,255,255,.8);overflow:hidden;background:#e8edf2}.food-shell .map-hint{background:rgba(255,255,255,.9);color:#3a4048;border-color:rgba(32,35,40,.1)}.food-shell .surface{background:rgba(255,255,255,.86);border-color:rgba(32,35,40,.1);box-shadow:0 12px 32px rgba(30,32,35,.06),inset 0 1px 0 rgba(255,255,255,.9);color:#202124}.food-shell .surface h3,.food-shell .surface-head output{color:#202124}.food-shell .empty-state,.food-shell .place-item small,.food-shell .surface-head output{color:#6b7178}.food-shell input,.food-shell select,.food-shell textarea{background:#fff;color:#202124;border-color:rgba(32,35,40,.14)}.food-shell .place-item{background:rgba(248,246,241,.95);color:#202124;border-color:transparent}.food-shell .place-item:hover{border-color:rgba(84,185,198,.35)}.food-shell .count-badge,.food-shell .secondary-btn{background:#202124;color:#f4efe3}.food-shell .form-message{color:#c45b48}.diary-zone{padding:0}.diary-gate-kicker{margin:0 0 8px;color:#6f7b86;font:700 .68rem/1 Outfit,sans-serif;letter-spacing:.16em}.diary-gate{min-height:620px;display:grid;place-items:center;padding:28px 18px;border-radius:28px;background:radial-gradient(circle at 18% 12%,rgba(84,185,198,.12),transparent 28%),radial-gradient(circle at 88% 0,rgba(239,119,95,.1),transparent 26%),linear-gradient(165deg,#fbfaf7,#f3f0ea);box-shadow:0 24px 60px rgba(30,32,35,.06)}.diary-gate,.diary-gate-card{border:1px solid rgba(32,35,40,.08)}.diary-gate-card{width:min(440px,100%);padding:36px 32px 30px;text-align:center;border-radius:24px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);box-shadow:0 18px 48px rgba(30,32,35,.08);color:#1f2328}.diary-gate-icon{width:72px;height:72px;margin:0 auto 18px;display:grid;place-items:center;border-radius:22px;color:#3d4a57;background:linear-gradient(160deg,#f7f4ee,#ebe7df);border:1px solid rgba(32,35,40,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.diary-gate-card h2{margin:0 0 10px;font:700 clamp(1.5rem,3vw,1.9rem)/1.15 Outfit,Noto Sans SC,sans-serif;letter-spacing:-.03em}.diary-gate-desc{margin:0 auto;max-width:32em;color:#66707a;font-size:.92rem;line-height:1.7}.diary-gate-form{display:grid;gap:12px;margin-top:24px;text-align:left}.diary-gate-form label{display:grid;gap:7px;color:#4d565f;font-size:.78rem}.diary-gate-form input{width:100%;border:1px solid rgba(32,35,40,.12);border-radius:12px;padding:12px 14px;background:#fff;color:#1f2328;outline:none}.diary-gate-form input:focus{border-color:#7aa8b1;box-shadow:0 0 0 3px rgba(84,185,198,.14)}.diary-gate-btn{margin-top:4px;border:0;border-radius:12px;padding:13px 18px;background:#1f2328;color:#f7f4ee;font-weight:700;letter-spacing:.02em;transition:transform .16s,filter .16s,background .16s}.diary-gate-btn:hover{transform:translateY(-1px);background:#2a3038;filter:brightness(1.03)}.diary-gate-msg{min-height:1.2em;text-align:center}.diary-workspace{position:relative;isolation:isolate;overflow:hidden;padding:clamp(22px,3vw,34px);border-radius:28px;border:1px solid rgba(32,35,40,.08);color:#1f2328;background:radial-gradient(circle at 100% 0,rgba(217,164,65,.08),transparent 28%),radial-gradient(circle at 0 100%,rgba(84,185,198,.08),transparent 30%),linear-gradient(165deg,#fbfaf7,#f1eee7 55%,#ebe7df);box-shadow:0 24px 60px rgba(30,32,35,.07)}.diary-workspace-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(32,35,40,.08)}.diary-workspace-head h2{margin:0 0 6px;font:750 clamp(1.8rem,3.5vw,2.6rem)/1 Outfit,Noto Sans SC,sans-serif;letter-spacing:-.04em}.diary-workspace-head p{margin:0;color:#66707a;max-width:38em;line-height:1.65}.diary-workspace-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.diary-status-pill{padding:7px 12px;border-radius:999px;background:rgba(47,143,122,.1);color:#2f8f7a;font:700 .74rem Outfit,Noto Sans SC,sans-serif}.diary-lock-btn{padding:9px 16px;border-radius:999px;border:1px solid rgba(32,35,40,.12);background:#fff;color:#3d4650;font-weight:700;font-size:.8rem}.diary-lock-btn:hover{border-color:rgba(32,35,40,.24);background:#faf9f6}.diary-workspace-body{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(0,1.15fr);gap:18px;align-items:start}.diary-compose{position:sticky;top:92px;display:grid;gap:14px;padding:24px;border-radius:22px;border:1px solid rgba(32,35,40,.08);background:rgba(255,255,255,.92);box-shadow:0 16px 40px rgba(30,32,35,.06)}.diary-compose-head h3{margin:0;font:700 1.2rem/1.2 Outfit,Noto Sans SC,sans-serif}.diary-compose label{display:grid;gap:7px;color:#4d565f;font-size:.78rem}.diary-compose input,.diary-compose textarea{width:100%;border:1px solid rgba(32,35,40,.12);border-radius:12px;padding:12px 14px;background:#fbfaf8;color:#1f2328;outline:none}.diary-compose textarea{min-height:280px;resize:vertical;line-height:1.7}.diary-compose input:focus,.diary-compose textarea:focus{border-color:#7aa8b1;background:#fff;box-shadow:0 0 0 3px rgba(84,185,198,.12)}.diary-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.diary-save-btn{border:0;border-radius:12px;padding:11px 20px;background:#1f2328;color:#f7f4ee;font-weight:700}.diary-save-btn:hover{background:#2a3038}.diary-timeline{min-height:520px;padding:18px;border-radius:22px;border:1px solid rgba(32,35,40,.07);background:rgba(255,255,255,.45)}.diary-timeline-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:4px 4px 12px;border-bottom:1px solid rgba(32,35,40,.07)}.diary-timeline-head h3{margin:0;font:700 1rem Outfit,Noto Sans SC,sans-serif}.diary-timeline-head span{min-width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#1f2328;color:#f7f4ee;font:700 .75rem Outfit,sans-serif}.diary-timeline-list{display:grid;gap:12px;max-height:min(70vh,760px);overflow:auto;padding-right:4px}.diary-empty{padding:48px 20px;text-align:center;border-radius:16px;border:1px dashed rgba(32,35,40,.12);background:rgba(255,255,255,.55)}.diary-empty strong{display:block;margin-bottom:6px}.diary-empty p{margin:0;color:#6b747d}.diary-card{position:relative;padding:18px 18px 16px;border-radius:16px;border:1px solid rgba(32,35,40,.07);background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(30,32,35,.04);transition:transform .16s,box-shadow .16s}.diary-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(30,32,35,.07)}.diary-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.diary-card-top time{color:#7a838c;font-size:.72rem}.diary-card-del{border:0;background:transparent;color:#98a0a8;font-size:.75rem;padding:2px 4px}.diary-card-del:hover{color:#c45b48}.diary-card h4{margin:0 0 8px;font:700 1.05rem/1.3 Outfit,Noto Sans SC,sans-serif}.diary-card p{margin:0;color:#4a535c;white-space:pre-wrap;line-height:1.75;font-size:.92rem}@media(max-width:900px){.diary-workspace-body{grid-template-columns:1fr}.diary-compose{position:static}.diary-workspace-head{flex-direction:column;align-items:flex-start}}.auth-hint{display:block;margin-top:6px;color:var(--muted);font-size:.72rem;line-height:1.45;font-weight:500}.auth-form .auth-hint,.auth-hint strong{color:#c7d0dc}.changelog-overlay{position:fixed;inset:0;z-index:2600;display:grid;place-items:center;padding:20px;background:rgba(3,8,16,.82);animation:changelog-fade .18s ease-out}@keyframes changelog-fade{0%{opacity:0}to{opacity:1}}.changelog-card{width:min(520px,100%);padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg,rgba(23,42,69,.98),rgba(11,23,41,.98));color:var(--cream);box-shadow:var(--shadow);transform:translateZ(0);animation:changelog-pop .2s ease-out}@keyframes changelog-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.changelog-card h3{margin:4px 0 6px;font:700 1.35rem/1.2 Outfit,Noto Sans SC,sans-serif}.changelog-list{margin:18px 0 24px;padding:0;list-style:none;display:grid;gap:12px;color:var(--cream-2);counter-reset:cl}.changelog-list li{position:relative;display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;padding:12px 14px;border:1px solid rgba(244,239,227,.1);border-radius:12px;background:rgba(255,255,255,.03)}.changelog-list li:before{counter-increment:cl;content:counter(cl,decimal-leading-zero);display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(239,119,95,.16);color:var(--coral);font:700 .78rem Outfit,sans-serif}.changelog-about{margin:4px 0 20px;padding-top:4px;border-top:1px solid rgba(244,239,227,.1)}.changelog-about-title{margin:6px 0 12px;font:700 1.05rem/1.3 Noto Sans SC,Outfit,sans-serif;color:var(--cream)}.changelog-about-list{margin:0 0 8px;padding:0;list-style:none;display:grid;gap:10px;color:var(--cream-2)}.changelog-about-list li{position:relative;padding:11px 14px 11px 16px;border:1px solid rgba(244,239,227,.08);border-radius:12px;background:rgba(255,255,255,.025);line-height:1.55;font-size:.9rem}.changelog-about-list li:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:2px;background:linear-gradient(180deg,rgba(84,185,198,.85),rgba(239,119,95,.45))}.changelog-card{max-height:min(86vh,720px);overflow:auto}.badge-preview-overlay{position:fixed;inset:0;z-index:2700;display:grid;place-items:center;padding:24px;background:rgba(8,10,16,.78);backdrop-filter:blur(8px)}.badge-preview-card{position:relative;width:min(560px,100%);padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:linear-gradient(165deg,rgba(255,255,255,.98),rgba(246,243,236,.98));color:#202124;box-shadow:0 28px 70px rgba(0,0,0,.35)}.badge-preview-card img{display:block;width:100%;max-height:min(68vh,560px);object-fit:contain;border-radius:14px;background:#f3f0ea}.badge-preview-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.badge-preview-meta strong{font-size:1.05rem}.badge-preview-meta small{display:block;color:#6b7178;margin-top:3px}.badge-item{cursor:zoom-in}.badge-item.mine{cursor:grab}.badge-item.mine.dragging{cursor:grabbing}.badge-item:not(.mine):hover{border-color:rgba(84,185,198,.45);box-shadow:0 0 0 3px rgba(84,185,198,.12)}.admin-btn{padding:7px 14px;border-radius:999px;border:1px solid rgba(217,164,65,.45);background:linear-gradient(120deg,rgba(217,164,65,.22),rgba(239,119,95,.14));color:#f4e2b0;font:700 .74rem/1 Outfit,Noto Sans SC,sans-serif;letter-spacing:.04em;box-shadow:inset 0 0 0 1px rgba(217,164,65,.08)}.admin-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.admin-overlay{position:fixed;inset:0;z-index:2650;display:grid;place-items:center;padding:18px;background:rgba(4,8,14,.78);backdrop-filter:blur(8px)}.admin-console{width:min(980px,100%);max-height:90vh;overflow:auto;padding:28px;border:1px solid rgba(244,239,227,.14);border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(217,164,65,.14),transparent 30%),linear-gradient(165deg,#101b2d,#0b1422 55%,#0a121d);color:var(--cream);box-shadow:0 30px 80px rgba(0,0,0,.4)}.admin-console-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-console-head h3{margin:4px 0 0;font:700 1.5rem/1.15 Outfit,Noto Sans SC,sans-serif}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.admin-stat{padding:14px 16px;border-radius:14px;border:1px solid rgba(244,239,227,.1);background:rgba(255,255,255,.04)}.admin-stat span{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.08em}.admin-stat strong{display:block;margin-top:6px;font:700 1.4rem Outfit,sans-serif}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.admin-tab{padding:8px 14px;border:1px solid rgba(244,239,227,.12);border-radius:999px;background:transparent;color:var(--cream-2);font-size:.8rem;font-weight:700}.admin-tab.active{background:var(--cream);color:var(--navy-950)}.admin-table{width:100%;border-collapse:collapse;font-size:.82rem}.admin-table td,.admin-table th{padding:10px 8px;border-bottom:1px solid rgba(244,239,227,.08);text-align:left}.admin-table th{color:var(--muted);font-weight:600}.admin-table tr:hover td{background:rgba(255,255,255,.03)}.admin-pill{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:700}.admin-pill.ok{background:rgba(84,185,198,.16);color:var(--cyan)}.admin-pill.used{background:rgba(255,255,255,.08);color:var(--muted)}.admin-pill.beta{background:rgba(217,164,65,.18);color:#f1c86a}.admin-pill.invite{background:rgba(239,119,95,.16);color:#ffb19f}.admin-code-list{max-height:360px;overflow:auto;border:1px solid rgba(244,239,227,.08);border-radius:12px}.admin-pending-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.admin-pending-card{padding:12px;border-radius:14px;border:1px solid rgba(244,239,227,.1);background:rgba(255,255,255,.04)}.admin-pending-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;background:#0a121d}.admin-pending-card strong{display:block;margin-top:8px}.admin-empty,.admin-pending-card small{color:var(--muted)}.admin-empty{padding:28px;text-align:center}@media(max-width:820px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.food-shell{padding:18px}}.birthday-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 18px;padding:16px 18px;border-radius:16px;border:1px solid rgba(239,119,95,.28);background:linear-gradient(120deg,rgba(255,236,210,.95),rgba(255,214,196,.9));color:#3a2418;box-shadow:0 10px 28px rgba(180,80,40,.12)}.birthday-banner strong{display:block;font-size:1.02rem}.birthday-banner span{display:block;margin-top:4px;font-size:.82rem;color:#6a4634}.birthday-banner-actions{display:flex;gap:8px;flex-wrap:wrap}.birthday-banner .active-toggle{box-shadow:0 0 0 2px rgba(58,36,24,.15)}.badge-count.birthday{background:rgba(239,119,95,.14);color:#d96a4c}.birthday-wall{background:radial-gradient(circle at 20% 10%,rgba(255,214,170,.55),transparent 28%),radial-gradient(circle at 80% 0,rgba(255,180,180,.35),transparent 30%),linear-gradient(180deg,#fff8f1,#fff);border-color:#f0d8c4}.birthday-badge-del{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(20,12,10,.72);color:#fff;font-size:.85rem;line-height:1;opacity:0;transition:opacity .15s}.badge-item.mine:hover .birthday-badge-del{opacity:1}.birthday-fullscreen{position:fixed;inset:0;z-index:2800;display:grid;grid-template-rows:auto 1fr;padding:28px clamp(18px,4vw,48px) 36px;background:radial-gradient(circle at 15% 10%,rgba(255,210,150,.28),transparent 30%),radial-gradient(circle at 85% 20%,rgba(239,119,95,.22),transparent 28%),#120b16;color:var(--cream);overflow:auto}.birthday-fullscreen-close{position:fixed;top:18px;right:22px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:1.5rem;line-height:1}.birthday-fullscreen-head{max-width:920px;margin:10px auto 24px}.birthday-fullscreen-head h2{margin:4px 0 0;font:800 clamp(1.8rem,4vw,3rem)/1 Outfit,Noto Sans SC,sans-serif}.birthday-fullscreen-stage{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;align-content:start;max-width:1100px;margin:0 auto;width:100%}.birthday-fullscreen-item{margin:0;aspect-ratio:1;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);box-shadow:0 16px 40px rgba(0,0,0,.28)}.birthday-fullscreen-item img{display:block;width:100%;height:100%;object-fit:cover}.panel-shell{position:relative;isolation:isolate;overflow:hidden;padding:clamp(22px,3vw,36px);border-radius:28px;border:1px solid rgba(32,35,40,.08);background:radial-gradient(circle at 12% 0,rgba(84,185,198,.1),transparent 28%),radial-gradient(circle at 92% 8%,rgba(239,119,95,.08),transparent 26%),linear-gradient(165deg,#fbfaf7,#f3f0ea 55%,#ebe7df);box-shadow:0 24px 60px rgba(30,32,35,.07)}.panel-shell,.panel-shell .zone-heading h2{color:#1f2328}.panel-shell .zone-heading>div>p:last-child{color:#66707a}.panel-shell .section-no{color:#3f8f9a}.work-shell .work-list{margin-top:4px}.work-shell .work-item{border:1px solid rgba(32,35,40,.08);background:rgba(255,255,255,.88);box-shadow:0 12px 28px rgba(30,32,35,.05);color:#1f2328}.work-shell .work-item:hover:not(.disabled){border-color:rgba(84,185,198,.35);transform:translateX(3px)}.work-shell .work-number{color:#3f8f9a}.work-shell .section-no,.work-shell .work-copy p:last-child{color:#6b747d}.work-shell .work-add-zone{border-color:rgba(84,185,198,.28);background:rgba(255,255,255,.55);color:#4a535c}.work-shell .work-add-zone.drag-over{background:rgba(84,185,198,.08)}.work-shell .work-file-note{color:#7a838c}.work-shell .tool-frame{border:1px solid rgba(32,35,40,.1);background:#fff;border-radius:16px;box-shadow:0 14px 36px rgba(30,32,35,.06)}.work-shell .secondary-btn{background:#1f2328;color:#f7f4ee}.credits-shell .credits-card{border:1px solid rgba(32,35,40,.08)!important;background:rgba(255,255,255,.9)!important;color:#1f2328!important;box-shadow:0 14px 36px rgba(30,32,35,.05)}.credits-shell .credits-card h3{color:#1f2328}.credits-shell .credits-card p{color:#4a535c}.credits-shell .section-no{color:#3f8f9a}.cake-rain{pointer-events:none;position:fixed;inset:0;z-index:4000;overflow:hidden}.cake-drop{position:absolute;top:-40px;animation:cakeFall 2s linear forwards;filter:drop-shadow(0 6px 10px rgba(0,0,0,.18));opacity:.95}@keyframes cakeFall{0%{transform:translateY(-10vh) rotate(-12deg);opacity:0}12%{opacity:1}to{transform:translateY(110vh) rotate(18deg);opacity:.85}}@media(prefers-reduced-motion:reduce){.cake-rain{display:none}}.pin-place{display:grid;gap:14px}.pin-place-desc{margin:8px 0 0;color:#6b7178;font-size:.82rem;line-height:1.55}.food-shell .pin-place-desc{color:#6b7178}.search-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.search-results{display:grid;gap:8px;max-height:260px;overflow:auto;padding-right:2px}.search-result{width:100%;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid transparent;border-radius:12px;text-align:left;background:rgba(255,255,255,.04);color:inherit;transition:.16s}.food-shell .search-result{background:rgba(248,246,241,.95);color:#202124;border-color:rgba(32,35,40,.06)}.search-result:hover{border-color:rgba(84,185,198,.35);transform:translateX(2px)}.search-result-index{font:700 .78rem Outfit,sans-serif;color:var(--cyan)}.food-shell .search-result-index{color:#3f8f9a}.search-result-copy{min-width:0}.search-result-copy strong{display:block;font-size:.92rem}.search-result-copy small{display:block;margin-top:3px;color:var(--muted);font-size:.74rem;line-height:1.4}.food-shell .search-result-copy small{color:#6b7178}.pin-result{color:var(--cyan);font:700 .74rem Outfit,Noto Sans SC,sans-serif;white-space:nowrap}.food-shell .pin-result{color:#2f7f8a}.pin-place-form{display:grid;gap:12px;margin-top:4px;padding-top:14px;border-top:1px solid rgba(244,239,227,.12)}.food-shell .pin-place-form{border-top-color:rgba(32,35,40,.08)}.pin-place-form>label{display:grid;gap:7px}@media(max-width:820px){.search-row{grid-template-columns:1fr}.search-result{grid-template-columns:28px 1fr}.pin-result{grid-column:2}}.points-chip{display:inline-flex;align-items:center;margin-right:8px;padding:2px 8px;background:linear-gradient(120deg,rgba(217,164,65,.25),rgba(239,119,95,.18));color:#f3d48a;font:700 .72rem Outfit,Noto Sans SC,sans-serif}.daily-points-toast,.points-chip{border-radius:999px;border:1px solid rgba(217,164,65,.35)}.daily-points-toast{position:fixed;top:72px;left:50%;transform:translateX(-50%);z-index:3500;padding:10px 16px;background:rgba(15,23,36,.92);color:#f4efe3;box-shadow:0 12px 30px rgba(0,0,0,.25);font-weight:700}.profile-link-grid-5{grid-template-columns:repeat(5,1fr)}@media(max-width:1100px){.profile-link-grid-5{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.profile-link-grid-5{grid-template-columns:repeat(2,1fr)}}.admin-banner-editor label{display:grid;gap:8px;color:var(--cream-2);font-size:.8rem}.admin-banner-editor textarea{min-height:110px;resize:vertical}.games-shell .zone-heading{align-items:end}.game-points-board{min-width:120px;padding:12px 16px;border-radius:16px;text-align:right;background:rgba(255,255,255,.8);border:1px solid rgba(32,35,40,.08);display:grid;gap:4px;justify-items:end}.game-points-board span{display:block;color:#6b7178;font-size:.72rem}.game-points-board strong{font:800 1.5rem Outfit,sans-serif;color:#1f2328}.game-locked{margin-top:10px;padding:48px 24px;text-align:center;border-radius:20px;background:rgba(255,255,255,.75);border:1px dashed rgba(32,35,40,.12)}.game-tabs{display:flex;gap:8px;margin:8px 0 14px;flex-wrap:wrap}.game-tabs button{padding:10px 16px;border-radius:999px;border:1px solid rgba(32,35,40,.1);background:rgba(255,255,255,.7);color:#3d4650;font-weight:700}.game-tabs button.active{background:#1f2328;color:#f7f4ee;border-color:#1f2328}.game-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}@media(max-width:900px){.game-panel{grid-template-columns:1fr}}.fish-panel,.lottery-panel{padding:8px}.fish-cast,.fish-warehouse,.game-panel-copy,.lottery-stage{padding:20px;border-radius:18px;background:rgba(255,255,255,.86);border:1px solid rgba(32,35,40,.08);box-shadow:0 12px 30px rgba(30,32,35,.05)}.game-panel-copy ul{margin:10px 0 16px;padding-left:18px;color:#5a636c;line-height:1.7}.lottery-stage{min-height:280px}.lottery-empty{color:#7a838c}.lottery-card{position:relative;width:min(280px,100%);aspect-ratio:1.5;border-radius:16px;overflow:hidden;border:1px solid rgba(32,35,40,.1);background:linear-gradient(145deg,#fff7e8,#ffe0c2);user-select:none;cursor:grab;box-shadow:0 14px 30px rgba(180,90,40,.12)}.lottery-card:active{cursor:grabbing}.lottery-result{height:100%;display:grid;place-content:center;text-align:center;gap:6px;padding:16px}.lottery-result strong{font-size:1.15rem;color:#5a2f12}.lottery-result small{color:#8a5a30}.lottery-foil{position:absolute;inset:0;display:grid;place-items:center;background:repeating-linear-gradient(135deg,rgba(180,180,190,.95) 0 12px,rgba(150,150,165,.95) 12px 24px);color:#2a2f38;font-weight:800;letter-spacing:.08em}.fish-cast-btn{margin-top:12px;width:100%;border:3px solid #6a4220;border-radius:4px;padding:16px 18px;background:linear-gradient(180deg,#f0d890,#d4a44a);color:#3a2818;font-weight:800;box-shadow:inset 0 0 0 1px #ffe8b0,0 4px 0 #3a2818;cursor:pointer}.fish-cast-btn:hover{background:linear-gradient(180deg,#ffe0a0,#e0b050)}.fish-cast-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:inset 0 0 0 1px #c9a24a,0 2px 0 #3a2818}.fish-cast-btn.casting{opacity:.7}.fish-last-catch{margin-top:12px;color:#3f8f9a;font-weight:700}.fish-warehouse-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.fish-warehouse-head h3{margin:0}.fish-warehouse-actions{display:flex;gap:8px;flex-wrap:wrap}.fish-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.museum-submit-btn{color:#c48a18!important;font-weight:700}.fish-museum-panel{margin:0 0 12px;padding:12px;border-radius:12px;border:1px solid rgba(196,138,24,.28);background:linear-gradient(180deg,rgba(255,248,230,.95),rgba(255,255,255,.9))}.fish-museum-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.fish-museum-head strong{display:block;color:#6a4a10}.fish-museum-head small{display:block;margin-top:3px;color:#8a7040;font-size:.78rem}.fish-museum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;max-height:220px;overflow:auto}.fish-museum-cell{display:grid;gap:3px;justify-items:center;padding:8px 6px;border-radius:10px;background:rgba(120,100,60,.06);border:1px solid rgba(120,100,60,.1);text-align:center}.fish-museum-cell b{font-size:.72rem;line-height:1.2;color:#3a3428}.fish-museum-cell small{font-size:.65rem;color:#8a8070}.fish-museum-cell.collected{border-color:rgba(196,138,24,.4);background:rgba(255,220,140,.18)}.fish-museum-cell.legendary.collected{box-shadow:inset 0 0 0 1px rgba(196,138,24,.35)}.fish-museum-dot{width:14px;height:14px;border-radius:50%;display:block}.game-fullscreen-warehouse .fish-museum-panel{background:rgba(20,24,30,.72);border-color:rgba(241,184,63,.28)}.game-fullscreen-warehouse .fish-museum-head strong{color:#ffe7a8}.game-fullscreen-warehouse .fish-museum-head small{color:rgba(255,255,255,.7)}.game-fullscreen-warehouse .fish-museum-cell{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.game-fullscreen-warehouse .fish-museum-cell b{color:#f4f0e6}.game-fullscreen-warehouse .fish-museum-cell small{color:#aab2ba}.game-fullscreen-warehouse .fish-museum-cell.collected{background:rgba(241,184,63,.12);border-color:rgba(241,184,63,.35)}.fish-list{display:grid;gap:8px;max-height:420px;overflow:auto}.fish-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:12px;border:1px solid rgba(32,35,40,.08);background:#fbfaf7}.fish-item strong{display:block}.fish-item small{color:#6b7178}.fish-item.quality-premium{border-color:rgba(84,185,198,.35)}.fish-item.quality-king{border-color:rgba(217,164,65,.45);background:linear-gradient(90deg,#fffaf0,#fff)}.games-dual{grid-template-columns:1fr 1fr}.games-dual,.games-layout{display:grid;gap:16px;align-items:start}.games-layout{grid-template-columns:minmax(0,1fr) 300px}@media(max-width:1100px){.games-dual,.games-layout{grid-template-columns:1fr}}.game-card{padding:18px;border-radius:20px;background:rgba(255,255,255,.9);border:1px solid rgba(32,35,40,.08);box-shadow:0 14px 34px rgba(30,32,35,.06);display:grid;gap:12px}.game-card-fish{padding:16px}.game-card-head h3{margin:4px 0 6px;font:800 1.25rem Outfit,Noto Sans SC,sans-serif;color:#1f2328}.game-card-head p{margin:0;color:#66707a;line-height:1.55}.game-odds{margin:0;padding-left:18px;color:#5a636c;line-height:1.7}.fish-list-wide{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:220px;overflow:auto}.games-character-bar{justify-content:space-between;flex-wrap:wrap;margin:8px 0 14px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.86);border:1px solid rgba(32,35,40,.08)}.games-character-bar,.games-character-current{display:flex;align-items:center;gap:12px}.games-character-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(180deg,#f5e6c8,#e8d4a8);border:2px solid #6a4220;font-size:1.35rem}.games-character-current strong{display:block;color:#1f2328}.games-character-current small{color:#66707a}.games-lobby-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.game-lobby-card{text-align:left;padding:18px;border-radius:18px;cursor:pointer;background:rgba(255,255,255,.92);border:1px solid rgba(32,35,40,.08);box-shadow:0 12px 28px rgba(30,32,35,.06);display:grid;gap:8px;transition:transform .15s ease,box-shadow .15s ease}button.game-lobby-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(30,32,35,.1);border-color:rgba(63,143,154,.35)}.game-lobby-card h3{margin:0;font:800 1.2rem Outfit,Noto Sans SC,sans-serif;color:#1f2328}.game-lobby-card p{margin:0;color:#66707a;line-height:1.55;font-size:.92rem}.game-lobby-cta{color:#3f8f9a;font-weight:800;font-size:.88rem;margin-top:4px}.game-lobby-cta.muted{color:#9aa3ab}.game-lobby-card.coming-soon{cursor:default;opacity:.78;background:repeating-linear-gradient(135deg,rgba(255,255,255,.9) 0 12px,rgba(248,246,242,.95) 12px 24px);border-style:dashed}.game-fullscreen{inset:0;z-index:5200;background:#0f1418;display:grid;grid-template-rows:auto 1fr;color:#f4f7fa}.game-exit-fab,.game-fullscreen{position:fixed;pointer-events:auto}.game-exit-fab{top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));z-index:5300;min-width:96px;height:48px;padding:0 18px;border:2px solid #ffe08a;border-radius:999px;cursor:pointer;background:#1f2328;color:#ffe08a;font:800 1rem Outfit,Noto Sans SC,sans-serif;box-shadow:0 4px 0 #0a0c0e,0 10px 24px rgba(0,0,0,.45)}.game-exit-fab:hover{filter:brightness(1.08);transform:translateY(-1px);background:#2a3038;color:#fff3c0}.game-exit-fab:active{transform:translateY(1px);box-shadow:0 2px 0 #0a0c0e}.game-fullscreen-bar{position:relative;z-index:5210;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 130px 12px 16px;background:#1a222a;border-bottom:1px solid rgba(255,255,255,.08);pointer-events:auto}.game-fullscreen-title{display:flex;align-items:center;gap:12px;min-width:0}.game-fullscreen-bar h3{margin:2px 0 0;font:800 1.15rem Outfit,Noto Sans SC,sans-serif}.game-back-btn{border:2px solid #ffe08a;background:#3a2818;color:#ffe08a;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;box-shadow:0 3px 0 #1a1008;pointer-events:auto}.game-back-btn:hover{background:#4a3820;color:#fff3c0}.game-bar-btn{box-shadow:0 3px 0 rgba(0,0,0,.25);pointer-events:auto}.game-fullscreen .game-bar-btn.primary-btn,.game-fullscreen .primary-btn{background:var(--cream);color:var(--navy-950)}.game-fullscreen .game-bar-btn.primary-btn:hover,.game-fullscreen .primary-btn:hover{background:#fff;filter:none}.game-fullscreen-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.game-fullscreen-points{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-weight:700;font-size:.85rem}.game-character-mini{padding:6px 10px;border-radius:999px;background:rgba(245,230,200,.12);border:1px solid rgba(245,230,200,.22);font-weight:700;font-size:.82rem}.game-fullscreen-body{position:relative;z-index:5205;overflow:auto;padding:14px 16px 24px;display:grid;gap:14px;align-content:start}.game-fullscreen-body .stardew-fish,.game-fullscreen-warehouse{max-width:1100px;width:100%;margin:0 auto}.game-fullscreen-warehouse{padding:14px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.game-fullscreen-warehouse h3{color:#f4f7fa}.game-fullscreen-warehouse .empty-state{color:#9aa3ab}.game-fullscreen-warehouse .fish-item{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#f4f7fa}.game-fullscreen-warehouse .fish-item small{color:#aab2ba}.app-shell.game-playing .dock,.app-shell.game-playing .topbar{visibility:hidden;pointer-events:none}.lottery-fullscreen-body{display:grid;place-items:center;min-height:0;padding-top:8px}.lottery-pixel-screen{background:linear-gradient(180deg,#1a1428,#0f1418 40%,#12181f)}.pixel-lottery-machine{width:min(760px,100%);border:4px solid #2a1c10;border-radius:10px;background:linear-gradient(180deg,#6a3a28 0 18px,#8a4a30 18px 100%);box-shadow:inset 0 0 0 3px #c9a24a,0 18px 0 #1a1008,0 28px 40px rgba(0,0,0,.45);padding:14px;image-rendering:pixelated;display:grid;gap:12px}.plm-top{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:6px;background:#1a120c;border:2px solid #c9a24a;color:#ffe08a;font:800 .95rem Outfit,Noto Sans SC,sans-serif;letter-spacing:.08em}.plm-lamp{width:10px;height:10px;border-radius:2px;background:#ff6a4a;box-shadow:0 0 8px #ff6a4a;animation:plmBlink 1.2s steps(2) infinite}.plm-lamp:nth-child(2){background:#ffe08a;box-shadow:0 0 8px #ffe08a;animation-delay:.15s}.plm-lamp:nth-child(3){background:#6ae08a;box-shadow:0 0 8px #6ae08a;animation-delay:.3s}.plm-lamp:nth-child(5){background:#6ae08a;box-shadow:0 0 8px #6ae08a;animation-delay:.45s}.plm-lamp:nth-child(6){background:#ffe08a;box-shadow:0 0 8px #ffe08a;animation-delay:.6s}.plm-lamp:nth-child(7){background:#4ab0ff;box-shadow:0 0 8px #4ab0ff;animation-delay:.75s}@keyframes plmBlink{50%{opacity:.35}}.plm-screen{background:#102018;border:3px solid #0a100c;border-radius:6px;box-shadow:inset 0 0 0 2px #3a6a48,inset 0 0 24px rgba(0,0,0,.35);padding:14px;display:grid;gap:12px}.plm-odds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;color:#9fe8b0;font-size:.78rem;font-weight:800;text-align:center}.plm-odds div{display:grid;gap:2px;place-items:center;padding:8px 4px;border:1px dashed rgba(159,232,176,.35);border-radius:4px;background:rgba(0,0,0,.18)}.plm-odds b{display:block;color:#e8ffe8;font-size:.92rem;letter-spacing:.02em}.plm-odds small{display:block;color:#7aba88;font-size:.7rem;font-weight:700}.plm-jackpot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 12px;border-radius:4px;border:1px solid rgba(255,224,138,.45);background:linear-gradient(90deg,rgba(80,40,10,.55),rgba(40,20,8,.4));color:#ffe08a;font-weight:800}.plm-jackpot span{padding:2px 8px;border-radius:3px;background:#6a3a10;color:#ffe08a;font-size:.68rem;letter-spacing:.12em}.plm-jackpot strong{font-size:1rem;color:#fff3c0;text-align:center}.plm-jackpot small{color:#c9a24a;font-size:.72rem}.lottery-stage-large{min-height:360px;display:grid;place-items:center;padding:16px;border-radius:6px;background:#0a1410;overflow:visible}.pixel-empty{display:grid;gap:10px;place-items:center;color:#7aaa88;font-weight:800}.pixel-ticket-ghost{width:180px;height:110px;border-radius:6px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 8px,transparent 8px 16px),linear-gradient(180deg,#1a3024,#102018);border:2px dashed rgba(159,232,176,.35)}.lottery-card-large{width:min(420px,100%);aspect-ratio:1.45;border-radius:8px}.pixel-ticket{border:3px solid #6a4220!important;background:repeating-linear-gradient(90deg,transparent 0 10px,rgba(180,90,40,.06) 10px 11px),linear-gradient(145deg,#fff4d8,#ffd8a8)!important;box-shadow:0 8px 0 #3a2818,0 14px 24px rgba(0,0,0,.25)!important}.pixel-ticket.win{box-shadow:0 8px 0 #3a2818,0 0 0 3px #ffe08a,0 14px 24px rgba(0,0,0,.25)!important}.pixel-ticket-tag{display:inline-block;padding:2px 8px;margin-bottom:6px;border-radius:3px;background:#3a2818;color:#ffe08a;font-size:.68rem;letter-spacing:.12em}.lottery-card-large .lottery-result strong{font-size:1.45rem}.pixel-foil{background:repeating-linear-gradient(135deg,#c8c8d0 0 10px,#a8a8b4 10px 20px)!important;image-rendering:pixelated;font-weight:900;letter-spacing:.1em}.plm-slot-row{display:grid;grid-template-columns:90px 1fr 90px;gap:10px;align-items:center}.plm-coin-slot,.plm-tray{height:64px;border-radius:6px;background:#1a120c;border:2px solid #c9a24a;display:grid;place-items:center;color:#c9a24a;font-size:.68rem;font-weight:800}.plm-coin-slot i{width:28px;height:8px;border-radius:4px;background:#0a0806;border:1px solid #6a5430;box-shadow:inset 0 0 6px #000}.plm-buy-btn{height:64px;border:3px solid #2a1c10;border-radius:6px;cursor:pointer;background:linear-gradient(180deg,#f0d060,#d48a28);color:#2a1c10;font:800 1.05rem Outfit,Noto Sans SC,sans-serif;box-shadow:inset 0 0 0 2px #ffe8a0,0 5px 0 #6a3a10}.plm-buy-btn:hover{filter:brightness(1.05)}.plm-buy-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:inset 0 0 0 2px #c9a24a,0 2px 0 #6a3a10}.lottery-msg{margin:0;text-align:center;color:#ffe8b0;font-weight:700}.character-picker-overlay{position:fixed;inset:0;z-index:5400;background:rgba(12,16,20,.55);display:grid;place-items:center;padding:16px}.character-picker{width:min(860px,100%);max-height:min(86vh,720px);overflow:auto;background:#fbfaf7;border-radius:20px;border:1px solid rgba(32,35,40,.1);box-shadow:0 24px 60px rgba(0,0,0,.28);padding:18px}.character-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.character-picker-head h3{margin:4px 0;font:800 1.25rem Outfit,Noto Sans SC,sans-serif;color:#1f2328}.character-picker-head p{margin:0;color:#66707a}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.character-option{text-align:left;padding:12px;border-radius:14px;cursor:pointer;background:#fff;border:2px solid rgba(32,35,40,.08);display:grid;gap:4px}.character-option:hover{border-color:rgba(63,143,154,.4)}.character-option.active{border-color:#3f8f9a;box-shadow:0 0 0 2px rgba(63,143,154,.2)}.character-option-mark{font-size:1.4rem}.character-option strong{color:#1f2328;font-size:.95rem}.character-option small{color:#7a838c;font-size:.75rem}.character-swatches{display:block;height:8px;border-radius:999px;margin-top:6px}.points-chip-btn{border:0;background:transparent;cursor:pointer;padding:0}.points-chip-btn:hover .points-chip{filter:brightness(1.08)}.rank-points{color:#c48a18;font-weight:800;white-space:nowrap}.rank-item.me{border-color:rgba(63,143,154,.35);background:rgba(63,143,154,.06)}.rank-no.rank-1{color:#c48a18}.rank-no.rank-2{color:#8a9aaa}.rank-no.rank-3{color:#b08050}.nightowl-rule{margin:0 0 14px;color:rgba(255,255,255,.78);font-size:.86rem;line-height:1.55}.nightowl-rule strong{color:#f1b83f;font-weight:800}.nightowl-status{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:14px;background:rgba(20,24,40,.45);border:1px solid rgba(255,255,255,.14);margin-bottom:10px}.nightowl-status-main{display:grid;gap:4px;min-width:0}.nightowl-status-main small{color:rgba(255,255,255,.62);font:700 .68rem Outfit,sans-serif;letter-spacing:.12em;text-transform:uppercase}.nightowl-status-main strong{font-size:1.05rem}.nightowl-status-main span{color:rgba(255,255,255,.7);font-size:.78rem}.nightowl-claim-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:none}.nightowl-msg{margin:0 0 8px;color:#f1b83f;font-size:.8rem}.nightowl-crowns{color:#9bb7ff}.ledger-overlay{position:fixed;inset:0;z-index:95;background:rgba(12,16,20,.55);display:grid;place-items:center;padding:16px}.ledger-panel{width:min(560px,100%);max-height:min(82vh,680px);overflow:auto;background:#fbfaf7;border-radius:18px;border:1px solid rgba(32,35,40,.1);box-shadow:0 24px 60px rgba(0,0,0,.28);padding:16px;display:grid;gap:12px}.ledger-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ledger-head h3{margin:4px 0;font:800 1.2rem Outfit,Noto Sans SC,sans-serif}.ledger-head p{margin:0;color:#66707a}.ledger-list{display:grid;gap:8px}.ledger-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;background:#fff;border:1px solid rgba(32,35,40,.08)}.ledger-item strong{display:block;color:#1f2328}.ledger-item small{color:#7a838c}.ledger-nums{text-align:right;display:grid;gap:2px}.ledger-item.plus b{color:#2f8f4a}.ledger-item.minus b{color:#c45c38}.ledger-nums span{color:#7a838c;font-size:.78rem}.stardew-fish{display:grid;gap:10px}.stardew-stage{position:relative;border-radius:6px;overflow:hidden;border:3px solid #3a2818;box-shadow:inset 0 0 0 2px #c9a24a,inset 0 0 0 4px #6a4220,0 10px 0 #2a1c10,0 14px 28px rgba(20,24,28,.18);min-height:320px}.stardew-canvas,.stardew-stage{background:#5cb050;image-rendering:pixelated}.stardew-canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;image-rendering:crisp-edges;-ms-interpolation-mode:nearest-neighbor;vertical-align:middle}.stardew-hint{bottom:10px;padding:8px 10px;border-radius:4px;background:#f5e6c8;color:#3a2818;font-size:.78rem;line-height:1.4;font-weight:700;border:2px solid #6a4220;box-shadow:inset 0 0 0 1px #c9a24a;z-index:3}.stardew-hint,.stardew-topbar{position:absolute;left:10px;right:10px;pointer-events:none}.stardew-topbar{top:10px;z-index:4;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}.stardew-badges,.stardew-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.stardew-controls{pointer-events:auto}.stardew-biome-badge{pointer-events:none;font:800 .68rem Outfit,Noto Sans SC,sans-serif;padding:3px 8px;border-radius:4px;color:#3a2818;background:#f5e6c8;border:2px solid #6a4220;box-shadow:inset 0 0 0 1px #c9a24a}.stardew-biome-badge.soft{background:#e8d4a8;font-weight:700}.stardew-biome-badge.biome-river{background:#b8dce8;color:#1a4058}.stardew-biome-badge.biome-lake{background:#a8d8d0;color:#1a4848}.stardew-biome-badge.biome-ocean{background:#90c0e0;color:#184060}.stardew-biome-badge.biome-mine{background:#a8a8b8;color:#282838}.stardew-biome-badge.biome-lava{background:#e8a070;color:#5a2010}.stardew-select{display:inline-flex;align-items:center;gap:4px;background:#f5e6c8;border:2px solid #6a4220;border-radius:4px;padding:2px 8px 2px 10px;color:#3a2818;font-size:.68rem;box-shadow:inset 0 0 0 1px #c9a24a}.stardew-select span{opacity:.8}.stardew-select select{border:0;background:transparent;color:#3a2818;font-size:.68rem;font-weight:700;outline:none;cursor:pointer;padding:2px 0}.stardew-select select option{color:#1f2328}.stardew-mute{pointer-events:auto;border:2px solid #6a4220;background:#f5e6c8;color:#3a2818;border-radius:4px;padding:3px 10px;font-size:.68rem;font-weight:700;cursor:pointer;box-shadow:inset 0 0 0 1px #c9a24a}.stardew-mute:hover{background:#ffe8b0}.fish-catch-popup.perfect{border-color:#c9a24a;box-shadow:0 0 0 2px #6a4220,0 8px 0 #c9a24a}.fish-catch-popup.perfect b{color:#a07018}.stardew-power{position:absolute;left:12px;top:48px;right:12px;z-index:3;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:4px;background:#f5e6c8;border:2px solid #6a4220;box-shadow:inset 0 0 0 1px #c9a24a;color:#3a2818;font-size:.78rem;font-weight:700}.stardew-power b{color:#a05020;min-width:2.5em;text-align:right}.stardew-power-track{position:relative;height:14px;border-radius:2px;overflow:hidden;background:linear-gradient(90deg,#4aaa48 0 34%,#d4a44a 34% 68%,#c45c38 68% 100%);border:2px solid #3a2818}.stardew-power-track i{position:absolute;left:0;top:0;bottom:0;background:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(255,255,255,.3)}.stardew-power-track .z{position:absolute;top:50%;transform:translateY(-50%);font-size:.58rem;font-style:normal;font-weight:800;color:rgba(0,0,0,.55);pointer-events:none}.stardew-power-track .z.near{left:10%}.stardew-power-track .z.mid{left:46%}.stardew-power-track .z.far{left:82%}.stardew-minigame{position:absolute;right:12px;top:44px;bottom:48px;width:78px;display:grid;grid-template-columns:1fr 16px;grid-template-rows:auto 1fr;gap:6px;align-items:stretch;z-index:3}.stardew-diff{grid-column:1/-1;justify-self:end;max-width:100%;font:800 .62rem Outfit,Noto Sans SC,sans-serif;color:#3a2818;background:#f5e6c8;padding:3px 6px;border-radius:4px;border:2px solid #6a4220;box-shadow:inset 0 0 0 1px #c9a24a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stardew-track{position:relative;border-radius:4px;overflow:hidden;min-height:0;background:repeating-linear-gradient(180deg,#5a3a20 0 6px,#4a3018 6px 12px);border:3px solid #2a1c10;box-shadow:inset 0 0 0 2px #c9a24a,inset 0 0 12px rgba(0,0,0,.35)}.stardew-green{position:absolute;left:5px;right:5px;border-radius:3px;background:linear-gradient(180deg,rgba(255,255,255,.25),transparent 40%),linear-gradient(180deg,#9ae86a,#3f9a40 55%,#2e7a30);border:1px solid #1e5a20;box-shadow:0 0 0 1px rgba(180,255,140,.35),inset 0 1px 0 rgba(255,255,255,.35)}.stardew-fish-icon{position:absolute;left:50%;width:22px;height:16px;margin-left:-11px;transform:translateY(50%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.45));--fish-color:#e8a030;z-index:2}.stardew-fish-icon span{display:block;width:100%;height:100%;background:radial-gradient(circle at 70% 50%,#fff8 0 22%,transparent 23%),linear-gradient(90deg,transparent 0 8%,var(--fish-color) 8% 78%,transparent 78%);border-radius:40% 60% 60% 40%;position:relative;image-rendering:pixelated}.stardew-fish-icon span:after{content:"";position:absolute;right:-3px;top:3px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid var(--fish-color)}.stardew-chest{position:absolute;left:50%;width:16px;height:14px;margin-left:-8px;transform:translateY(50%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.35));z-index:1}.stardew-chest span{display:block;width:100%;height:100%;border-radius:2px;background:linear-gradient(180deg,#f0d060 0 45%,#c4922a 45% 100%);border:1px solid #6a4010;position:relative}.stardew-chest span:before{content:"";position:absolute;left:2px;right:2px;top:45%;height:2px;background:#6a4010}.stardew-chest span:after{content:"";position:absolute;left:50%;top:40%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#ffe08a;box-shadow:0 0 4px #ffe08a}.stardew-side-meters{display:grid;grid-template-rows:1fr auto;gap:4px;min-height:0}.stardew-meter{position:relative;border-radius:4px;overflow:hidden;min-height:0;flex:1;background:#2a1c10;border:3px solid #2a1c10;box-shadow:inset 0 0 0 2px #c9a24a}.stardew-meter i{position:absolute;left:2px;right:2px;bottom:2px;background:linear-gradient(180deg,#ffe08a,#d9a441 60%,#a07020);border-radius:2px}.stardew-treasure-meter{position:relative;height:36px;border-radius:4px;overflow:hidden;background:#2a1c10;border:3px solid #6a4010;box-shadow:inset 0 0 0 1px #c9a24a}.stardew-treasure-meter i{position:absolute;left:2px;right:2px;bottom:2px;background:linear-gradient(180deg,#f0d060,#c4922a);border-radius:2px}.stardew-treasure-meter.got{box-shadow:0 0 8px rgba(240,208,96,.55),inset 0 0 0 1px #f0d060;border-color:#f0d060}.stardew-bite-flash{position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(circle at 50% 62%,rgba(255,230,120,.38),transparent 40%);animation:bitePulse .35s ease-in-out infinite alternate}@keyframes bitePulse{0%{opacity:.55}to{opacity:1}}.fish-cast-btn.bite{background:linear-gradient(180deg,#f0d060,#c45c28)!important;color:#2a1c10!important;animation:biteBtn .4s ease-in-out infinite alternate;box-shadow:0 0 0 3px rgba(217,164,65,.45),0 4px 0 #6a4220}.fish-cast-btn.charging{background:linear-gradient(180deg,#8fe08a,#3f8f5a);color:#1a3018;box-shadow:0 0 0 3px rgba(90,180,100,.3),0 4px 0 #2a4a28}@keyframes biteBtn{0%{transform:scale(1)}to{transform:scale(1.03)}}.stardew-help{margin:0;color:#66707a;font-size:.78rem;line-height:1.55}.stardew-help kbd{display:inline-block;padding:1px 6px;border-radius:4px;border:2px solid #6a4220;background:#f5e6c8;color:#3a2818;font-size:.72rem;font-weight:700}.fish-catch-popup{position:absolute;left:12px;top:48px;padding:12px 14px;border-radius:4px;background:#f5e6c8;border:3px solid #6a4220;box-shadow:inset 0 0 0 1px #c9a24a,0 6px 0 #3a2818;display:grid;gap:2px;min-width:140px;z-index:2}.fish-catch-popup b{color:#a07018}.fish-catch-popup span{font-weight:800;color:#3a2818}.fish-catch-popup small{color:#6a5438}.lottery-stage{min-height:220px;display:grid;place-items:center;margin-top:4px}.fish-warehouse{margin-top:4px;padding-top:10px;border-top:1px solid rgba(32,35,40,.08)}.photo-wall-section{margin-top:28px;padding:22px;border-radius:22px;border:1px solid rgba(32,35,40,.08);background:linear-gradient(180deg,#fbf8f2,#f3efe6);box-shadow:0 16px 40px rgba(20,24,30,.08)}.photo-wall-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.photo-wall-heading h3{margin:4px 0 6px;font-size:1.45rem}.photo-wall-heading p{margin:0;max-width:52ch;color:#6b7178;font-size:.9rem;line-height:1.55}.photo-wall-empty{padding:28px 12px}.photo-city-list{display:grid;gap:16px}.photo-city-card{padding:16px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(32,35,40,.07)}.photo-city-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.photo-city-head strong{display:block;font-size:1.05rem}.photo-city-head small{display:block;color:#7a818a;font-size:.78rem;margin-top:2px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px}.photo-card{position:relative;border-radius:14px;overflow:hidden;background:#fff;border:1px solid rgba(32,35,40,.08);box-shadow:0 8px 20px rgba(20,24,30,.06)}.photo-thumb-btn{display:block;width:100%;border:0;padding:0;background:transparent;cursor:pointer}.photo-thumb-btn img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.photo-author{position:absolute;right:8px;bottom:40px;max-width:78%;padding:3px 8px;border-radius:999px;background:rgba(12,16,20,.62);color:#fff;font-size:.68rem;font-weight:700;backdrop-filter:blur(6px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px}.photo-like-btn{border:1px solid rgba(32,35,40,.1);border-radius:999px;padding:4px 10px;background:#fff;color:#5a616a;font-weight:700;font-size:.78rem}.photo-like-btn.liked{border-color:rgba(239,119,95,.45);background:rgba(239,119,95,.1);color:#d4543d}.photo-preview-card{position:relative;width:min(860px,94vw);max-height:min(90vh,900px);overflow:auto;padding:16px;border-radius:18px;background:#111827;color:#f8fafc;box-shadow:0 24px 60px rgba(0,0,0,.4)}.photo-preview-card img{display:block;width:100%;max-height:70vh;object-fit:contain;border-radius:12px;background:#000}.photo-preview-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.photo-preview-meta strong{display:block}.photo-preview-meta small{display:block;color:#cbd5e1;margin-top:4px}.photo-upload-card label{display:grid;gap:6px;margin-bottom:12px;color:var(--cream-2);font-size:.8rem}.photo-upload-card input{width:100%}.badge-zone .photo-wall-section{position:relative;z-index:2}.koi-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;border-radius:999px;border:1px solid rgba(255,120,150,.55);background:linear-gradient(120deg,#ff9a9e,#fad0c4 55%,#fbc2eb);color:#5a1030;font:800 .68rem/1.2 Outfit,Noto Sans SC,sans-serif;letter-spacing:.04em;box-shadow:0 0 12px rgba(255,130,160,.35)}.lottery-marquee{overflow:hidden;margin:0 0 12px;border-radius:999px;border:1px solid rgba(255,210,90,.35);background:linear-gradient(90deg,rgba(80,40,10,.92),rgba(120,60,12,.9),rgba(80,40,10,.92));box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.lottery-marquee-track{display:flex;width:max-content;gap:0;animation:lottery-marquee 18s linear infinite;white-space:nowrap}.lottery-marquee-track span{padding:10px 18px;color:#ffe7a8;font:800 .86rem/1.2 Noto Sans SC,sans-serif;letter-spacing:.04em;text-shadow:0 1px 0 rgba(0,0,0,.35)}@keyframes lottery-marquee{0%{transform:translateX(0)}to{transform:translateX(-33.333%)}}.photo-wall-section{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(251,248,242,.82),rgba(243,239,230,.9)),url(/assets/china-map.svg) center 18%/min(920px,110%) no-repeat,linear-gradient(180deg,#f7f1e6,#ebe3d4)}.photo-wall-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.35),transparent 28%),linear-gradient(90deg,rgba(255,255,255,.08),transparent 40%,rgba(20,16,10,.05));pointer-events:none}.form-message,.photo-city-list,.photo-wall-empty,.photo-wall-heading{position:relative;z-index:1}.photo-city-card{background:rgba(255,255,255,.78);backdrop-filter:blur(6px)}.photo-map-stage{display:grid;grid-template-columns:minmax(280px,1.15fr) minmax(280px,.95fr);gap:14px;align-items:start;position:relative;z-index:1}@media(max-width:980px){.photo-map-stage{grid-template-columns:1fr}}.photo-map-board{position:relative;min-height:420px;border-radius:18px;overflow:hidden;border:1px solid rgba(120,100,70,.18);background:rgba(255,255,255,.35);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.photo-map-img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center}.photo-map-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.photo-map-wire{stroke:#8a6238;stroke-width:.35;stroke-dasharray:1.2 1;opacity:.55}.photo-map-pin{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;padding:0;cursor:pointer;z-index:2}.photo-map-pin-dot{display:block;width:12px;height:12px;border-radius:50%;background:#c23b2a;box-shadow:0 0 0 3px rgba(194,59,42,.18),0 2px 6px rgba(0,0,0,.25)}.photo-map-pin.active .photo-map-pin-dot{background:#ef775f;box-shadow:0 0 0 4px rgba(239,119,95,.25),0 2px 8px rgba(0,0,0,.28)}.photo-map-pin-label{position:absolute;left:14px;top:-8px;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;background:rgba(30,24,16,.78);color:#fff7e8;font-size:.68rem;font-weight:700;white-space:nowrap;pointer-events:none}.photo-map-pin-label small{opacity:.85;font-weight:600}.photo-map-rail{max-height:min(70vh,720px);overflow:auto;padding-right:2px}.photo-city-card.has-pin{border-color:rgba(194,59,42,.22);box-shadow:0 8px 22px rgba(90,50,20,.06)}.photo-wall-section{padding-bottom:18px}.community-shell{display:flex;flex-direction:column;align-items:stretch;gap:0}.community-heading{position:relative;z-index:2;max-width:560px}.community-tabs{position:relative;z-index:3;width:max-content;max-width:100%;margin-top:22px;margin-bottom:0;flex-wrap:wrap}.community-content{width:min(760px,100%);margin:18px 0 0;align-self:stretch}.community-content,.community-panel{position:relative;z-index:2}@media(max-width:820px){.community-content{width:100%;margin:18px 0 0}.community-tabs{width:100%}}.photo-map-board,.photo-map-img{background:#e7dcc8}.photo-map-img{object-fit:contain!important;object-position:center center;min-height:460px}.photo-map-pin-dot{width:11px;height:11px;border:2px solid #fff}.profile-link-grid-5 .profile-link{min-height:196px}.profile-link-grid-5 .profile-link strong{font-size:1.05rem;white-space:nowrap}.profile-link-grid-5 .profile-link small{font-size:.74rem;min-height:2.7em}.journal-shell{display:grid;gap:16px;padding:clamp(22px,3vw,36px);border-radius:28px;border:1px solid rgba(32,35,40,.08);color:#1f2328;background:radial-gradient(circle at 12% 18%,rgba(84,185,198,.12),transparent 28%),radial-gradient(circle at 88% 10%,rgba(239,119,95,.1),transparent 24%),linear-gradient(180deg,#fbfaf7,#f4f1ea);box-shadow:0 24px 60px rgba(20,24,30,.06)}.journal-tabs{display:flex;gap:8px;width:max-content;max-width:100%;padding:6px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(32,35,40,.08);box-shadow:0 8px 20px rgba(20,24,30,.04)}.journal-tabs button{border:0;border-radius:999px;padding:10px 18px;background:transparent;color:#5c6570;font-weight:700}.journal-tabs button.active{background:#1f2328;color:#f7f4ee;box-shadow:0 6px 16px rgba(31,35,40,.18)}.blog-shell{display:grid;gap:14px}.blog-head{display:flex;justify-content:space-between;gap:12px;align-items:end;flex-wrap:wrap}.blog-head h2{margin:4px 0;font:800 clamp(1.8rem,4vw,2.8rem)/1 Outfit,Noto Sans SC,sans-serif;color:#1f2328}.blog-head p{margin:0;color:#66707a}.blog-feed{display:grid;gap:14px}.blog-card{padding:18px;border-radius:18px;border:1px solid rgba(32,35,40,.08);background:rgba(255,255,255,.88);color:#1f2328;cursor:pointer;transition:.18s;box-shadow:0 10px 28px rgba(20,24,30,.04)}.blog-card:hover{transform:translateY(-2px);border-color:rgba(63,143,154,.35)}.blog-card-title{margin:0 0 10px;font-size:1.3rem;line-height:1.35;color:#1f2328}.blog-card-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;color:#6b7480;font-size:.82rem;margin-bottom:12px}.blog-author{color:#2f7f9a;font-weight:700}.blog-card-cover{margin:0 0 12px;border-radius:12px;overflow:hidden;border:1px solid rgba(32,35,40,.06)}.blog-card-cover img{display:block;width:100%;max-height:320px;object-fit:cover}.blog-card-excerpt{margin:0 0 12px;color:#5c6570;line-height:1.65}.blog-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.blog-card-actions button,.blog-card-actions span{border:1px solid rgba(32,35,40,.1);background:#fff;color:#44505c;border-radius:999px;padding:6px 10px;font-size:.8rem}.blog-card-actions button.on{border-color:rgba(239,119,95,.45);background:rgba(239,119,95,.1);color:#c2513d}.blog-card-actions button.danger{border-color:rgba(200,80,80,.3);color:#b44545}.blog-detail{display:grid;gap:12px;padding:8px 2px 24px;color:#1f2328}.blog-back{justify-self:start;border:0;background:transparent;color:#2f7f9a;font-weight:700;padding:0}.blog-detail-title{margin:0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.35}.blog-detail-figure{margin:0;border-radius:12px;overflow:hidden;background:#fff;border:1px solid rgba(32,35,40,.06)}.blog-detail-figure img{display:block;width:100%;max-height:520px;object-fit:contain}.blog-detail-content{display:grid;gap:14px;padding:8px 0 4px}.blog-detail-content p{margin:0;color:#3a424c;line-height:1.85;font-size:1.02rem}.blog-detail-content p.blog-quote{color:#1d6fd8;font-weight:700}.blog-align-left{text-align:left}.blog-align-center{text-align:center}.blog-align-right{text-align:right}.blog-detail-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding-top:10px;border-top:1px solid rgba(32,35,40,.08)}.blog-detail-author{display:flex;align-items:center;gap:10px}.blog-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#54b9c6,#ef775f);color:#fff;font-weight:800}.blog-avatar.sm{width:28px;height:28px;font-size:.8rem}.blog-comments{display:grid;gap:12px;padding-top:8px}.blog-comments h3{margin:0;font-size:1rem;color:#2a3138}.blog-comment-form{display:grid;grid-template-columns:1fr auto;gap:8px}.blog-comment-form input{border-radius:999px;border:1px solid rgba(32,35,40,.12);background:#fff;color:#1f2328;padding:11px 14px}.blog-comment-list{display:grid;gap:12px}.blog-comment-item{padding:10px 0;border-bottom:1px solid rgba(32,35,40,.06)}.blog-comment-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px;color:#6b7480;font-size:.8rem}.blog-comment-head strong{color:#1f2328}.blog-comment-head button{margin-left:auto;border:0;background:transparent;color:#6b7480}.blog-comment-head button.on{color:#c2513d}.blog-comment-item p{margin:0;color:#3a424c;line-height:1.6}.blog-compose-card{width:min(720px,96vw)!important;max-height:min(90vh,900px);overflow:auto}.blog-compose-card label{display:grid;gap:6px;margin-bottom:10px;color:var(--cream-2);font-size:.82rem}.blog-compose-card input,.blog-compose-card select,.blog-compose-card textarea{width:100%}.blog-word-drop{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border-radius:12px;border:1px dashed rgba(255,255,255,.2);background:rgba(255,255,255,.04);color:var(--muted);font-size:.82rem}.blog-blocks{display:grid;gap:10px;margin:8px 0 14px}.blog-blocks-head{justify-content:space-between;align-items:center;color:var(--cream)}.blog-blocks-head,.blog-blocks-tools{display:flex;gap:8px;flex-wrap:wrap}.blog-block-item{padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.18)}.blog-block-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px;color:var(--cream-2);font-size:.8rem}.blog-block-toolbar select{width:auto;min-width:96px}.blog-block-image img{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:8px;margin-bottom:8px;background:#111}.blog-block-image .muted{color:var(--muted);margin:0 0 8px}.diary-zone{padding:clamp(18px,2.5vw,28px) 0}.auth-dialog{z-index:7000!important}.auth-dialog::backdrop{z-index:6999!important}.badge-overlay{z-index:2600}.blog-edited{color:#9a6b2f;font-size:.75rem;font-weight:600}.blog-card-meta .blog-edited,.blog-detail .blog-edited{opacity:.9}.night-owl-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;border-radius:999px;border:1px solid rgba(120,150,255,.55);background:linear-gradient(120deg,#1b2a4a,#3a4f8a 55%,#6b7fd7);color:#e8eeff;font:800 .68rem/1.2 Outfit,Noto Sans SC,sans-serif;letter-spacing:.04em;box-shadow:0 0 12px rgba(90,120,255,.35)}.wall-tabs{display:flex;gap:8px;width:max-content;max-width:100%;margin:0 0 16px;padding:6px;border-radius:999px;background:rgba(32,35,40,.05);border:1px solid rgba(32,35,40,.08)}.wall-tabs button{border:0;border-radius:999px;padding:10px 18px;background:transparent;color:#5c6570;font-weight:700}.wall-tabs button.active{background:#1f2328;color:#f7f4ee;box-shadow:0 6px 16px rgba(31,35,40,.18)}.wall-pane{animation:wall-pane-in .18s ease-out}@keyframes wall-pane-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.lottery-card.lottery-card-large,.lottery-card.pixel-ticket{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;height:auto;min-height:280px;aspect-ratio:auto;overflow:visible;padding:14px 16px 18px;cursor:default;user-select:none}.lottery-card-large .lottery-result,.pixel-ticket .lottery-result{height:auto;min-height:0;place-content:center;gap:4px;padding:6px 8px 10px}.lottery-scratch-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,280px);margin:4px auto 0;pointer-events:auto}.lottery-scratch-cell{aspect-ratio:1;border:0;border-radius:10px;cursor:pointer;background:linear-gradient(145deg,#cfd6de,#9aa7b5 45%,#c5ced8);color:#5a6570;font-weight:900;font-size:1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 2px 0 #7d8894;transition:transform .12s,filter .12s,background .2s;pointer-events:auto}.lottery-scratch-cell:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.lottery-scratch-cell:active:not(:disabled){transform:translateY(1px)}.lottery-scratch-cell:disabled{cursor:default}.lottery-scratch-cell.open{background:rgba(255,255,255,.35);color:#6a4220;box-shadow:none;border:1px dashed rgba(106,66,32,.28);font-size:.9rem}.lottery-scratch-hint{margin-top:10px;text-align:center;color:#6a4220;font-size:.78rem;font-weight:600}.lottery-card-large .lottery-result strong{min-height:1.4em}.cto-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;border-radius:999px;border:1px solid rgba(90,200,180,.55);background:linear-gradient(120deg,#0f2f2c,#1d5c54 55%,#3aa894);color:#e8fff8;font:800 .68rem/1.2 Outfit,Noto Sans SC,sans-serif;letter-spacing:.06em;box-shadow:0 0 12px rgba(58,168,148,.35)}.cto-badge.mini{margin-left:6px;padding:1px 6px;font-size:.62rem;letter-spacing:.04em}.minesweeper-fullscreen-body{padding:12px 16px 24px;overflow:auto;background:linear-gradient(180deg,#12181d,#0f1418 40%,#0c1014)}.minesweeper-toast{margin:0 0 10px;padding:10px 14px;border-radius:12px;background:rgba(84,185,198,.12);border:1px solid rgba(84,185,198,.28);color:#d7f4f8;font-weight:700}.minesweeper-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:16px;align-items:start;min-height:0}@media (max-width:960px){.minesweeper-layout{grid-template-columns:1fr}}.minesweeper-main{display:grid;gap:12px;min-width:0}.minesweeper-toolbar{display:grid;gap:10px}.minesweeper-diffs{display:flex;flex-wrap:wrap;gap:8px}.minesweeper-diff-btn{display:grid;gap:2px;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#e8eef3;cursor:pointer;min-width:110px}.minesweeper-diff-btn small{color:#8b98a5;font-weight:600}.minesweeper-diff-btn.active{border-color:rgba(84,185,198,.55);background:rgba(84,185,198,.14);color:#dff7fa}.minesweeper-status{display:flex;align-items:center;justify-content:center;gap:14px}.minesweeper-counter{min-width:72px;padding:8px 10px;border-radius:10px;background:#1a0f0f;color:#ff6b5a;font:800 .95rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-align:center;box-shadow:inset 0 0 0 1px rgba(255,80,60,.25)}.minesweeper-face{width:48px;height:48px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,#3a4148,#2a3036);font-size:1.35rem;cursor:pointer}.minesweeper-face:hover{border-color:rgba(255,255,255,.28)}.minesweeper-hint{margin:0;color:#8b98a5;font-size:.86rem;text-align:center}.minesweeper-board{display:grid;grid-template-columns:repeat(var(--ms-cols),minmax(0,1fr));gap:2px;width:min(100%,calc(var(--ms-cols) * 28px));margin:0 auto;padding:8px;border-radius:12px;background:#1a2229;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 12px 30px rgba(0,0,0,.28);user-select:none}.minesweeper-board.diff-expert{width:min(100%,calc(var(--ms-cols) * 22px))}.ms-cell{aspect-ratio:1;min-width:0;min-height:0;border:0;border-radius:3px;padding:0;font:800 .78rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;cursor:pointer;display:grid;place-items:center}.ms-cell.closed{background:linear-gradient(180deg,#6f7c88,#4f5b66);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.22);color:#f4f7fa}.ms-cell.closed:hover{filter:brightness(1.06)}.ms-cell.flag{color:#ffd36a}.ms-cell.open{background:#c8d0d6;color:#1f2328;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);cursor:default}.ms-cell.open.mine{background:#c44;color:#fff}.ms-cell.n1{color:#1e5eff}.ms-cell.n2{color:#1f8a2e}.ms-cell.n3{color:#d12b2b}.ms-cell.n4{color:#0b2f8a}.ms-cell.n5{color:#7a1c1c}.ms-cell.n6{color:#0e7a7a}.ms-cell.n7{color:#111}.ms-cell.n8{color:#555}.minesweeper-board.ended-lose .ms-cell.closed{filter:saturate(.7)}.minesweeper-rank{position:sticky;top:8px;padding:14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:#e8eef3}.minesweeper-rank-head h3{margin:4px 0 6px;font:800 1.1rem Outfit,Noto Sans SC,sans-serif}.minesweeper-rank-head p{margin:0 0 6px;color:#8b98a5;font-size:.86rem;line-height:1.45}.minesweeper-my-best{color:#cfeef2!important}.minesweeper-my-best.muted{color:#8b98a5!important}.minesweeper-rank-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px;max-height:min(60vh,520px);overflow:auto}.minesweeper-rank-list li{display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.06)}.minesweeper-rank-list li.empty{grid-template-columns:1fr;color:#8b98a5;text-align:center}.minesweeper-rank-list .rank-no{font:800 .8rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#8b98a5}.minesweeper-rank-list .rank-name{display:flex;align-items:center;gap:4px;min-width:0}.minesweeper-rank-list .rank-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.minesweeper-rank-list .rank-time{font:800 .86rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#9fe7d8}.minesweeper-rank-list li.top-1{border-color:rgba(241,184,63,.4);background:rgba(241,184,63,.08)}.minesweeper-rank-list li.top-2{border-color:rgba(180,190,210,.35)}.minesweeper-rank-list li.top-3{border-color:rgba(196,120,70,.35)}.work-tool-block{display:grid;gap:0}.work-tool-block .work-item{margin:0}.work-tool-block.open .work-item{border-bottom-left-radius:0;border-bottom-right-radius:0}.tool-frame.tool-frame-inline,.work-shell .tool-frame.tool-frame-inline{margin:0 0 10px;border-top-left-radius:0;border-top-right-radius:0;border-top:0}.work-tool-block .work-item:hover:not(.disabled),.work-tool-block.open .work-item:hover:not(.disabled){transform:none}.admin-badge,.beta-badge,.cto-badge,.defuser-badge,.golden-fisher-badge,.header-admin-badge,.koi-badge,.night-owl-badge,.title-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;border-radius:999px;font:800 .68rem/1.2 Outfit,Noto Sans SC,sans-serif;letter-spacing:.04em;border:1px solid transparent}.cto-badge.mini,.defuser-badge.mini,.title-badge.mini{margin-left:6px;padding:1px 6px;font-size:.62rem;letter-spacing:.03em}.admin-badge,.cto-badge,.header-admin-badge,.title-badge.tier-1{border-color:rgba(212,175,55,.72);background:linear-gradient(135deg,rgba(255,230,150,.22),rgba(212,175,55,.08) 40%,transparent 70%),linear-gradient(120deg,#14110c,#2a2215 42%,#0d0b08);color:#f3d27a;text-shadow:0 0 10px rgba(212,175,55,.35);box-shadow:0 0 12px rgba(212,175,55,.28),inset 0 1px 0 rgba(255,230,160,.18)}.koi-badge,.title-badge.tier-2{border-color:rgba(255,120,150,.55);background:linear-gradient(120deg,#ff6b8a,#ff9a6b 35%,#f6d365 60%,#7ad7ff 85%,#c9a0ff);color:#3a1230;text-shadow:0 1px 0 rgba(255,255,255,.25);box-shadow:0 0 14px rgba(255,130,160,.35)}.defuser-badge,.golden-fisher-badge,.title-badge.tier-3{border-color:rgba(255,210,90,.8);background:linear-gradient(120deg,#ffe08a,#f6c453 45%,#e8a317);color:#4a2a00;box-shadow:0 0 12px rgba(255,196,70,.45)}.night-owl-badge,.title-badge.tier-4{border-color:rgba(190,200,215,.7);background:linear-gradient(120deg,#f4f7fb,#c9d2de 48%,#9eacbd);color:#2f3844;box-shadow:0 0 10px rgba(160,175,195,.35)}.beta-badge{border-color:rgba(120,170,180,.45);background:linear-gradient(120deg,rgba(84,185,198,.2),rgba(40,60,80,.35));color:#d7f4f8;box-shadow:none;font-weight:700}