:root{--font-display:"ZCOOL KuaiLe", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--rose:#c97c86;--rose-soft:#e8a9ae;--gold:#c9a66b;--page-bg:#fff9f4;--ink:#4a3a35;--ink-soft:#8d7a74;--line:#4a3a351a;--card:#ffffff9e;--card-border:#ffffffd9;--bar-bg:#fff9f4b8;--shadow:0 10px 30px #be8c821f;--hero-grad:linear-gradient(135deg, #c97c86 8%, #c9a66b 92%);--glow-a:#ffe2d8f2;--glow-b:#fadbded9;--wash:#fff9f438;--wash-strong:#fff9f466;--halo:#fff9f4eb;--paper:#fffdfb;--paper-line:#4a3a3517;--map-fill:#4a3a3524;--map-hover:#c97c865c;--radius:26px;--radius-sm:16px}[data-theme=rose]{--page-bg:#fdece9;--ink:#4b3330;--ink-soft:#92716e;--glow-a:#ffd4cbf2;--glow-b:#f6bfc5cc;--bar-bg:#fdece9bd;--hero-grad:linear-gradient(135deg, #c26a78 8%, #c49a5c 92%);--wash:#fdece93d;--wash-strong:#fdece96b;--halo:#fdece9eb}[data-theme=dusk]{--page-bg:#2a211f;--paper:#332b28;--paper-line:#ffffff14;--map-fill:#ffffff2b;--map-hover:#c97c868c;--ink:#f4e7e2;--ink-soft:#bda6a0;--line:#ffffff1a;--card:#ffffff0e;--card-border:#ffffff17;--bar-bg:#2a211fc7;--shadow:0 10px 30px #00000059;--hero-grad:linear-gradient(135deg, #eab6bb 8%, #dcbc8d 92%);--glow-a:#7e4a408c;--glow-b:#603e4880;--wash:#2a211f42;--wash-strong:#2a211f75;--halo:#2a211fe6}[data-bg=image]{--card:#ffffffd6;--paper:#fffdfaf5;--card-border:#fffffff2;--bar-bg:#fff9f4e6;--ink:#3a2b26;--ink-soft:#6d5751;--hero-grad:linear-gradient(135deg, #b5677a 8%, #b28a4c 92%);--halo:#fff9f4f2}[data-bg=image][data-theme=rose]{--card:#fff6f4db;--bar-bg:#fdece9eb;--ink:#3c2825;--ink-soft:#74514d;--hero-grad:linear-gradient(135deg, #b0626f 8%, #ad864a 92%)}[data-bg=image][data-theme=dusk]{--card:#2a211fd6;--paper:#302724f5;--card-border:#ffffff1f;--bar-bg:#2a211feb;--ink:#fdf1ed;--ink-soft:#cdb6af}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font-body);color:var(--ink);background:var(--page-bg);-webkit-font-smoothing:antialiased;margin:0;transition:background .5s,color .4s}button{font-family:inherit}.shell{width:100%;max-width:1080px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}.bg-layer{z-index:-3;background:radial-gradient(900px 620px at 12% -12%, var(--glow-a), transparent 62%), radial-gradient(760px 520px at 96% 8%, var(--glow-b), transparent 58%), var(--page-bg);transition:background .6s;position:fixed;inset:0}.bg-photo{z-index:-2;opacity:.6;background-position:50%;background-size:cover;position:fixed;inset:0}.bg-wash{z-index:-1;pointer-events:none;background:linear-gradient(180deg, var(--wash-strong) 0%, var(--wash) 34%, var(--wash) 66%, var(--wash-strong) 100%);position:fixed;inset:0}.cover{z-index:60;text-align:center;background:radial-gradient(900px 620px at 12% -12%, var(--glow-a), transparent 62%), radial-gradient(760px 520px at 96% 8%, var(--glow-b), transparent 58%), var(--page-bg);place-items:center;padding:24px;transition:opacity .45s,transform .45s;display:grid;position:fixed;inset:0}.cover.is-leaving{opacity:0;pointer-events:none;transform:scale(1.06)}.cover__glow{aspect-ratio:1;background:radial-gradient(circle, var(--glow-b) 0%, transparent 66%);filter:blur(30px);border-radius:50%;width:min(78vw,520px);animation:7s ease-in-out infinite breathe;position:absolute}.cover__inner{animation:.9s cubic-bezier(.2,.7,.2,1) both rise;position:relative}.cover__title{letter-spacing:.62em;text-indent:.62em;color:var(--ink-soft);margin:0 0 clamp(22px,5vw,34px);font-size:12px}.cover__names{font-family:var(--font-display);letter-spacing:.06em;justify-content:center;align-items:center;gap:clamp(12px,3vw,22px);margin:0;font-size:clamp(34px,8.4vw,60px);font-weight:400;display:flex}.cover__heart{color:var(--rose);animation:2.6s ease-in-out infinite beat}.cover__date{letter-spacing:.4em;text-transform:uppercase;color:var(--ink-soft);margin:clamp(16px,3vw,22px) 0 clamp(34px,7vw,46px);font-size:11px}.enter{letter-spacing:.14em;color:#fff;cursor:pointer;background:linear-gradient(135deg,#cf8790,#c1a069);border:none;border-radius:999px;align-items:center;gap:9px;padding:15px 36px;font-size:15px;transition:transform .25s,box-shadow .25s;display:inline-flex;box-shadow:0 14px 30px #c97c8657}.enter:hover{transform:translateY(-2px);box-shadow:0 18px 38px #c97c866b}.enter:active{transform:translateY(0)scale(.98)}.topbar{z-index:30;background:var(--bar-bg);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);position:sticky;top:0}.topbar__inner{justify-content:space-between;align-items:center;gap:16px;height:64px;display:flex}.brand{font-family:var(--font-display);letter-spacing:.08em;white-space:nowrap;align-items:center;gap:8px;font-size:17px;display:inline-flex}.brand__heart{color:var(--rose)}.topnav{gap:2px;display:none}.topnav__item{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 15px;font-size:14px;transition:color .2s,background .2s}.topnav__item:hover{color:var(--ink);background:var(--card)}.topnav__item.is-active{color:#fff;background:linear-gradient(135deg,#cf8790,#c1a069)}.topbar__since{letter-spacing:.16em;color:var(--ink-soft);opacity:.7;font-size:11px;display:none}.tabbar{z-index:40;padding:7px 4px calc(7px + env(safe-area-inset-bottom));background:var(--bar-bg);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar__item{letter-spacing:.04em;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:4px 0;font-size:10px;transition:color .2s;display:flex}.tabbar__item.is-active{color:var(--rose)}.home{padding:clamp(30px, 6vw, 58px) 0 calc(96px + env(safe-area-inset-bottom))}.hero{text-align:center}.hero__eyebrow{letter-spacing:.28em;color:var(--ink-soft);margin:0 0 clamp(16px,3vw,26px);font-size:12.5px}.hero__days{justify-content:center;align-items:baseline;gap:10px;margin:0;display:flex}.hero__num{font-family:var(--font-display);letter-spacing:-.02em;background:var(--hero-grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(76px,19vw,150px);line-height:.9}.hero__unit{font-family:var(--font-display);color:var(--ink-soft);font-size:clamp(20px,4vw,32px)}.hero__cap{letter-spacing:.08em;color:var(--ink-soft);margin:clamp(12px,2.2vw,18px) 0 0;font-size:clamp(15px,2.9vw,17px)}.hero__pills{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:clamp(18px,3vw,26px);display:flex}.pill{border:1px solid var(--card-border);background:var(--card);color:var(--ink-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:12.5px;display:inline-flex}.hero__quote{max-width:30em;font-family:var(--font-display);color:var(--ink);opacity:.86;margin:clamp(26px,5vw,46px) auto 0;font-size:clamp(15px,2.5vw,19px);line-height:2}[data-bg=image] .hero__eyebrow,[data-bg=image] .hero__cap,[data-bg=image] .hero__quote,[data-bg=image] .hero__unit,[data-bg=image] .stub__title,[data-bg=image] .stub__desc{text-shadow:0 1px 24px var(--halo), 0 0 10px var(--halo), 0 0 2px var(--halo)}[data-bg=image] .hero__num{filter:drop-shadow(0 2px 30px var(--halo))}.cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:clamp(34px,7vw,64px);display:grid}.card{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);text-align:left;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;gap:5px;padding:22px;transition:transform .28s,box-shadow .28s,background .28s;display:flex;position:relative}.card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #be8c822e}.card__icon{width:42px;height:42px;color:var(--rose);background:#c97c861c;border-radius:14px;place-items:center;margin-bottom:10px;display:grid}[data-theme=dusk] .card__icon{color:#eab6bb;background:#ffffff14}.card__label{font-family:var(--font-display);letter-spacing:.04em;font-size:19px}.card__desc{color:var(--ink-soft);font-size:12.5px;line-height:1.65}.card__arrow{color:var(--ink-soft);opacity:0;transition:opacity .28s,transform .28s;position:absolute;top:24px;right:20px;transform:translate(-6px)}.card:hover .card__arrow{opacity:.65;transform:none}.stub{padding:clamp(56px, 14vh, 120px) 0 calc(96px + env(safe-area-inset-bottom));text-align:center}.stub__icon{border:1px solid var(--card-border);background:var(--card);width:74px;height:74px;color:var(--rose);box-shadow:var(--shadow);border-radius:24px;place-items:center;margin:0 auto 22px;display:grid}.stub__title{font-family:var(--font-display);letter-spacing:.06em;margin:0 0 12px;font-size:clamp(26px,4vw,34px)}.stub__desc{max-width:24em;color:var(--ink-soft);margin:0 auto 20px;font-size:14px;line-height:1.9}.stub__badge{letter-spacing:.1em;color:var(--rose);background:#c97c861c;border-radius:999px;margin-bottom:28px;padding:6px 15px;font-size:11.5px;display:inline-block}.btn-ghost{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;padding:12px 28px;font-size:14px;transition:transform .2s,background .2s}.btn-ghost:hover{transform:translateY(-1px)}.bg-picker{z-index:45;position:relative}.bg-fab{right:18px;bottom:calc(86px + env(safe-area-inset-bottom));border:1px solid var(--card-border);background:var(--card);width:46px;height:46px;color:var(--ink-soft);box-shadow:var(--shadow);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:50%;place-items:center;display:grid;position:fixed}.bg-sheet{right:18px;bottom:calc(142px + env(safe-area-inset-bottom));border:1px solid var(--card-border);background:var(--bar-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;width:236px;padding:16px;animation:.2s both rise;position:fixed;box-shadow:0 22px 50px #78504638}.bg-sheet__title{letter-spacing:.3em;color:var(--ink-soft);margin:0 0 12px;font-size:11px}.bg-swatches{gap:10px;display:flex}.bg-swatch{cursor:pointer;border:2px solid #0000;border-radius:16px;width:60px;height:60px;padding:0;transition:border-color .2s,transform .2s}.bg-swatch:hover{transform:translateY(-2px)}.bg-swatch--cream{background:linear-gradient(160deg,#fffaf4,#fbe2dc)}.bg-swatch--rose{background:linear-gradient(160deg,#fdece9,#f4c4c9)}.bg-swatch--dusk{background:linear-gradient(160deg,#3a2d2a,#6b4740)}.bg-swatch.is-active{border-color:var(--rose);box-shadow:0 0 0 3px #c97c8629}.bg-sheet__hint{color:var(--ink-soft);margin:10px 0 14px;font-size:11.5px}.bg-upload{border:1px dashed var(--line);color:var(--ink);cursor:pointer;border-radius:14px;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;transition:background .2s;display:flex}.bg-upload:hover{background:var(--card)}.bg-reset{color:var(--rose);cursor:pointer;background:0 0;border:none;margin-top:10px;padding:8px 0;font-size:12px}.bg-sheet__note{color:var(--ink-soft);opacity:.75;margin:12px 0 0;font-size:10.5px;line-height:1.6}.bg-sheet__error{color:#b4575f;margin:10px 0 0;font-size:11px}.bg-sheet__info{color:var(--ink-soft);margin:10px 0 0;font-size:10.5px;line-height:1.5}.player{left:18px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:45;flex-direction:column;align-items:flex-start;gap:10px;display:flex;position:fixed}.player__fab{border:1px solid var(--card-border);background:var(--card);width:46px;height:46px;color:var(--ink-soft);box-shadow:var(--shadow);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:50%;place-items:center;display:grid;position:relative}.player__fab.is-playing{color:var(--rose)}.player__fab.is-playing:after{content:"";border:1px solid var(--rose);border-radius:50%;animation:2.6s ease-out infinite ring;position:absolute;inset:-4px}.player__panel{border:1px solid var(--card-border);background:var(--bar-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;width:272px;padding:15px 16px 13px;animation:.2s both rise;box-shadow:0 22px 50px #78504638}.player__head{align-items:center;gap:8px;display:flex}.player__dot{background:var(--line);border-radius:50%;flex:none;width:6px;height:6px}.player__dot.is-on{background:var(--rose);box-shadow:0 0 0 3px #c97c8629}.player__title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.player__bar{width:100%;height:3px;accent-color:var(--rose);cursor:pointer;margin:12px 0 6px}.player__bar:disabled{cursor:default;opacity:.45}.player__meta{letter-spacing:.04em;color:var(--ink-soft);justify-content:space-between;font-size:10.5px;display:flex}.player__count{letter-spacing:.06em;color:var(--ink-soft);margin-left:auto;font-size:10.5px}.player__controls{justify-content:center;align-items:center;gap:14px;margin-top:10px;display:flex}.player__round{border:1px solid var(--line);background:var(--card);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:background .2s;display:grid}.player__round--main{color:#fff;background:linear-gradient(135deg,#cf8790,#c1a069);border:none;width:42px;height:42px;box-shadow:0 8px 18px #c97c864d}.player__round:hover:not(:disabled){background:var(--bar-bg)}.player__round--main:hover:not(:disabled){background:linear-gradient(135deg,#c67b85,#b8965f)}.player__round:disabled{opacity:.4;cursor:default}.player__list{border-top:1px solid var(--line);max-height:132px;margin-top:12px;padding-top:8px;overflow-y:auto}.player__item{border-radius:10px;align-items:center;gap:6px;display:flex}.player__item.is-active{background:#c97c8614}.player__pick{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:6px;font-size:12px;display:flex}.player__item.is-active .player__pick{color:var(--rose)}.player__idx{width:16px;color:var(--ink-soft);font-variant-numeric:tabular-nums;flex:none;font-size:10px}.player__name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.player__del{color:var(--ink-soft);opacity:0;cursor:pointer;background:0 0;border:none;flex:none;padding:5px 6px;transition:opacity .15s}.player__item:hover .player__del,.player__item.is-active .player__del{opacity:.6}.player__del:hover{opacity:1;color:#b4575f}@media (hover:none){.player__del{opacity:.45}}.player__add{border:1px dashed var(--line);width:100%;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:5px;margin-top:10px;padding:9px 0;font-size:12px;display:flex}.player__add:hover:not(:disabled){background:var(--card)}.player__add:disabled{opacity:.6;cursor:default}.player__err{color:#b4575f;margin:9px 0 0;font-size:11px}.player__note{color:var(--ink-soft);opacity:.8;margin:9px 0 0;font-size:10.5px;line-height:1.5}.update-pill{top:calc(14px + env(safe-area-inset-top));z-index:70;background:var(--bar-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);letter-spacing:.04em;color:var(--rose);cursor:pointer;border:1px solid #c97c8659;border-radius:999px;padding:9px 18px;font-size:12.5px;animation:.35s both rise;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 26px #78504633}@media (width>=720px){.topnav{display:flex}.tabbar{display:none}.home,.stub{padding-bottom:80px}.bg-fab{bottom:26px;right:26px}.bg-sheet{bottom:84px;right:26px}.player{bottom:26px;left:26px}}@media (width>=1024px){.topbar__since{display:inline}.topbar__inner{height:72px}.home{padding-top:72px}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes beat{0%,to{transform:scale(1)}12%{transform:scale(1.16)}24%{transform:scale(1)}36%{transform:scale(1.1)}}@keyframes breathe{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes ring{0%{opacity:.5;transform:scale(.92)}70%{opacity:0;transform:scale(1.18)}to{opacity:0;transform:scale(1.18)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=599px){.cards{flex-wrap:wrap;justify-content:center;gap:24px 14px;margin-top:84px;display:flex}.card{border-radius:20px;flex:0 0 calc(50% - 7px);gap:3px;max-width:190px;padding:16px 15px}.card__icon{border-radius:12px;width:36px;height:36px;margin-bottom:7px}.card__icon svg{width:18px;height:18px}.card__label{font-size:16px}.card__desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.card__arrow{display:none}.home{padding-top:88px}}.gate{z-index:65;background:radial-gradient(900px 620px at 12% -12%, var(--glow-a), transparent 62%), radial-gradient(760px 520px at 96% 8%, var(--glow-b), transparent 58%), var(--page-bg);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.gate__card{border:1px solid var(--card-border);background:var(--card);width:min(100%,356px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;border-radius:28px;padding:34px 26px 28px;animation:.5s cubic-bezier(.2,.7,.2,1) both rise}.gate__eyebrow{letter-spacing:.28em;color:var(--ink-soft);margin:0 0 14px;font-size:11px}.gate__names{font-family:var(--font-display);letter-spacing:.06em;color:var(--ink);justify-content:center;align-items:center;gap:10px;margin:0 0 26px;font-size:clamp(24px,7vw,30px);font-weight:400;display:flex}.gate__heart{color:var(--rose);font-size:.7em;animation:2.6s ease-in-out infinite beat}.gate__form{flex-direction:column;gap:10px;display:flex}.gate__input{border:1px solid var(--line);width:100%;color:var(--ink);letter-spacing:.08em;background:#ffffffb8;border-radius:14px;outline:none;padding:13px 16px;font-family:inherit;font-size:15px;transition:border-color .2s,background .2s}[data-theme=dusk] .gate__input{background:#ffffff12}.gate__input:focus{border-color:var(--rose-soft);background:#ffffffeb}[data-theme=dusk] .gate__input:focus{background:#ffffff1f}.gate__input::placeholder{color:var(--ink-soft);opacity:.7;letter-spacing:.02em}.gate__submit{color:#fff;letter-spacing:.14em;cursor:pointer;background:linear-gradient(135deg,#cf8790,#c1a069);border:none;border-radius:999px;margin-top:4px;padding:14px 20px;font-family:inherit;font-size:15px;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 12px 26px #c97c864d}.gate__submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 32px #c97c865c}.gate__submit:active:not(:disabled){transform:translateY(0)scale(.99)}.gate__submit:disabled{opacity:.6;cursor:default}.gate__error{color:#b4575f;margin:2px 0 0;font-size:12.5px}.gate__note{color:var(--ink-soft);opacity:.85;margin:18px 0 0;font-size:11px;line-height:1.7}.who{top:calc(14px + env(safe-area-inset-top));z-index:48;position:fixed;right:16px}.who__chip{border:1px solid var(--card-border);background:var(--card);box-shadow:var(--shadow);color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;transition:transform .2s;display:flex}.who__chip:hover{transform:translateY(-1px)}.who__avatar{object-fit:cover;border-radius:50%;width:30px;height:30px;display:block}.who__avatar--empty{background:linear-gradient(140deg, var(--rose-soft), var(--peach));color:#fff;place-items:center;font-size:13px;display:grid}.who__name{letter-spacing:.06em;color:var(--ink-soft);font-size:12px}.who__menu{border:1px solid var(--card-border);background:var(--bar-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:20px;width:214px;padding:14px;animation:.2s both rise;position:absolute;top:44px;right:0;box-shadow:0 22px 50px #78504638}.who__hi{letter-spacing:.06em;color:var(--ink);margin:0 0 10px;font-size:12.5px}.who__action{width:100%;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:6px;padding:9px 10px;font-size:12.5px;display:flex}.who__action:hover{background:var(--card);border-color:var(--card-border);color:var(--ink)}.who__action--out:hover{color:var(--rose)}.who__err{color:var(--rose);margin:8px 2px 0;font-size:11.5px}.who__hint{color:var(--ink-soft);opacity:.8;margin:10px 2px 0;font-size:11px;line-height:1.6}.page{max-width:720px;padding:96px 20px calc(120px + env(safe-area-inset-bottom));margin:0 auto}.page__head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page__eyebrow{letter-spacing:.3em;color:var(--ink-soft);margin:0 0 6px;font-size:11px}.page__title{color:var(--ink);margin:0;font-size:30px;font-weight:400}.page__hint{color:var(--ink-soft);margin:30px 0;font-size:13px}.page__admin{letter-spacing:.06em;color:var(--rose);background:var(--card);border:1px dashed #c97c8666;border-radius:999px;margin:-8px 0 18px;padding:7px 12px;font-size:11.5px;display:inline-block}.btn-solid{background:linear-gradient(135deg, var(--rose-soft), var(--rose));color:#fff;letter-spacing:.06em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;padding:10px 18px;font-size:13px;transition:transform .2s,opacity .2s;display:inline-flex;box-shadow:0 10px 22px #b46e6e3d}.btn-solid:hover{transform:translateY(-1px)}.btn-solid:disabled{opacity:.55;cursor:default}.link-btn{color:var(--ink-soft);letter-spacing:.06em;cursor:pointer;background:0 0;border:none;padding:4px 2px;font-size:12px}.link-btn:hover{color:var(--rose)}.link-btn--warn:hover{color:#c2544f}.empty{border:1px dashed var(--card-border);color:var(--ink-soft);text-align:center;border-radius:22px;place-items:center;gap:10px;padding:48px 16px;font-size:13px;display:grid}.empty p{margin:0}.timeline{border-left:1px solid #c97c8640;gap:18px;margin:0;padding:0 0 0 22px;list-style:none;display:grid;position:relative}.timeline__item{position:relative}.timeline__dot{background:var(--rose);width:9px;height:9px;box-shadow:0 0 0 4px var(--page-bg);border-radius:50%;position:absolute;top:22px;left:-27px}.timeline__card{border:1px solid var(--card-border);background:var(--card);box-shadow:var(--shadow);border-radius:20px;padding:16px 18px}.timeline__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.timeline__date{letter-spacing:.12em;color:var(--rose);font-size:12px}.timeline__by{color:var(--ink-soft);align-items:center;gap:6px;font-size:11.5px;display:flex}.timeline__by img,.timeline__by i{object-fit:cover;border-radius:50%;width:20px;height:20px}.timeline__by i{background:linear-gradient(140deg, var(--rose-soft), var(--peach));color:#fff;place-items:center;font-size:10px;font-style:normal;display:grid}.timeline__by em{opacity:.7;font-style:normal}.timeline__title{color:var(--ink);margin:10px 0 6px;font-size:17px;font-weight:400}.timeline__text{color:var(--ink-soft);white-space:pre-wrap;margin:0;font-size:13.5px;line-height:1.85}.timeline__photo{object-fit:cover;border-radius:14px;width:100%;max-height:320px;margin-top:12px;display:block}.timeline__acts{gap:14px;margin-top:10px;display:flex}.sheet{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#3c282652;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.sheet__card{border:1px solid var(--card-border);background:var(--page-bg);border-radius:26px;width:min(440px,100%);max-height:88vh;padding:20px;animation:.22s both rise;overflow:auto;box-shadow:0 30px 70px #6446404d}.sheet__head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.sheet__head h2{color:var(--ink);margin:0;font-size:18px;font-weight:400}.sheet__close{border:1px solid var(--card-border);background:var(--card);width:30px;height:30px;color:var(--ink-soft);cursor:pointer;border-radius:50%;place-items:center;display:grid}.field{color:var(--ink-soft);gap:6px;margin-bottom:12px;font-size:12px;display:grid}.field input,.field textarea{border:1px solid var(--card-border);background:var(--card);width:100%;color:var(--ink);font:inherit;border-radius:14px;outline:none;padding:10px 12px;font-size:13.5px}.field textarea{resize:vertical;line-height:1.8}.field input:focus,.field textarea:focus{border-color:#c97c868c}.field__photo{align-items:center;gap:12px;display:flex}.field__photo img{object-fit:cover;border-radius:14px;width:92px;height:92px}.sheet__acts{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.sheet__error{color:#c2544f;margin:4px 0 10px;font-size:12px}.sheet__note{color:var(--ink-soft);opacity:.8;margin:12px 0 0;font-size:11px;line-height:1.7}.admin{max-width:760px;min-height:100vh;padding:34px 20px calc(60px + env(safe-area-inset-bottom));margin:0 auto}.admin__bar{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:26px;display:flex}.admin__eyebrow{letter-spacing:.3em;color:var(--ink-soft);margin:0 0 6px;font-size:11px}.admin__title{color:var(--ink);margin:0;font-size:30px;font-weight:400}.admin__who{color:var(--ink-soft);align-items:center;gap:12px;font-size:12.5px;display:flex}.admin__panel{border:1px solid var(--card-border);background:var(--card);box-shadow:var(--shadow);border-radius:24px;padding:20px}.admin__panel--gate{max-width:420px;margin:8vh auto 0}.admin__panel h2{color:var(--ink);margin:0 0 6px;font-size:18px;font-weight:400}.admin__panelHead{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.admin__panelHead p{color:var(--ink-soft);margin:4px 0 0;font-size:12px;line-height:1.7}.admin__hint{color:var(--ink-soft);margin:0 0 16px;font-size:12px;line-height:1.75}.admin__note{color:var(--ink-soft);opacity:.8;margin:16px 0 0;font-size:11.5px;line-height:1.7}.trash{gap:10px;margin:0;padding:0;list-style:none;display:grid}.trash__item{border:1px solid var(--card-border);background:var(--page-bg);border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.trash__kind{letter-spacing:.16em;color:var(--rose);margin:0 0 2px;font-size:10.5px}.trash__title{color:var(--ink);margin:0;font-size:13.5px}.trash__meta{color:var(--ink-soft);margin:4px 0 0;font-size:11px}.trash__acts{flex-shrink:0;gap:12px;display:flex}.visits{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--card-border) transparent;gap:8px;max-height:340px;margin:0;padding:0 6px 0 0;list-style:none;display:grid;overflow-y:auto}.visit{border:1px solid var(--card-border);background:var(--page-bg);border-radius:14px;padding:11px 14px}.visit__name{color:var(--ink);justify-content:space-between;align-items:baseline;gap:12px;margin:0;font-size:13.5px;display:flex}.visit__ip{letter-spacing:.02em;color:var(--ink-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.visit__meta{color:var(--ink-soft);margin:4px 0 0;font-size:11px}.storage{gap:8px;margin-top:14px;display:grid}.storage__bar{background:#c97c8624;border-radius:999px;height:8px;overflow:hidden}.storage__bar i{border-radius:inherit;background:linear-gradient(90deg,#c97c86bf,#d6a66ce6);height:100%;display:block}.storage__meta{color:var(--ink-soft);opacity:.85;margin:0;font-size:11.5px}.admin__panelTop{justify-content:space-between;align-items:center;gap:12px;display:flex}.audits::-webkit-scrollbar{width:6px}.visits::-webkit-scrollbar{width:6px}.audits::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:999px}.visits::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:999px}.audits::-webkit-scrollbar-track{background:0 0}.visits::-webkit-scrollbar-track{background:0 0}.audits{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--card-border) transparent;gap:2px;max-height:340px;margin:0;padding:0 6px 0 0;list-style:none;display:grid;overflow-y:auto}.audit{border-bottom:1px dashed var(--card-border);padding:9px 12px}.audit:last-child{border-bottom:0}.audit__line{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;font-size:13px;display:flex}.audit__name{font-weight:600}.audit__action{color:var(--ink-soft);background:#8c786e1f;border-radius:999px;padding:1px 8px;font-size:11px}.audit__action--create,.audit__action--upload{color:#2f6b4f;background:#78be9633}.audit__action--delete,.audit__action--purge{color:#a04a45;background:#d6786e2e}.audit__action--restore{color:#6a5aa0;background:#9682dc2e}.audit__kind{color:var(--ink-soft);font-size:11px}.audit__title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.audit__meta{color:var(--ink-soft);margin:3px 0 0;font-size:11px}html{scrollbar-gutter:stable;overflow-y:scroll}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:14px;display:grid}.photo-grid.is-single{grid-template-columns:1fr}.photo-grid__item{background:var(--chip);aspect-ratio:1;cursor:zoom-in;border:none;border-radius:12px;padding:0;overflow:hidden}.photo-grid.is-single .photo-grid__item{aspect-ratio:4/3;max-height:420px}.photo-grid__item img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.photo-grid__item:hover img{transform:scale(1.04)}.field__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.field__thumb{aspect-ratio:1;background:var(--chip);border-radius:12px;position:relative;overflow:hidden}.field__thumb img{object-fit:cover;width:100%;height:100%;display:block}.field__drop{color:#fff;cursor:pointer;background:#1e14129e;border:none;border-radius:50%;place-items:center;width:22px;height:22px;padding:0;font-size:11px;line-height:1;display:grid;position:absolute;top:5px;right:5px}.lb{z-index:90;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#160f0df0;flex-direction:column;align-items:center;gap:12px;padding:14px;display:flex;position:fixed;inset:0;overflow:auto}.lb__bar{top:calc(8px + env(safe-area-inset-top));color:#fff;justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:absolute;left:0;right:0}.lb__count{letter-spacing:.14em;opacity:.82;font-size:13px}.lb__icon{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;display:grid}.lb__stage{flex:1 0 auto;place-items:center;width:100%;min-height:calc(100dvh - 200px);margin-top:42px;display:grid;position:relative;overflow:hidden}.lb__img{object-fit:contain;cursor:zoom-in;border-radius:10px;max-width:100%;max-height:calc(100dvh - 200px);box-shadow:0 20px 60px #00000073}.lb__stage.is-zoomed{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;place-items:start center;overflow:auto}.lb__img.is-zoom{cursor:zoom-out;width:220%;max-width:none;height:auto;max-height:none;box-shadow:none;border-radius:6px}.lb__nav{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:38px;height:38px;font-size:22px;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lb__nav--prev{left:6px}.lb__nav--next{right:6px}.lb__acts{padding-bottom:calc(6px + env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.lb__btn{color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff47;border-radius:999px;padding:9px 18px;font-size:13px}.lb__btn--quiet{background:#ffffff0f}.lb__btn:disabled{opacity:.65;cursor:default}.lb__tip{color:#fff9;font-size:11px}.page__sub{color:var(--ink-soft);opacity:.85;margin:6px 0 0;font-size:12.5px}.albums{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.album-card{border:1px solid var(--card-border);background:var(--card);text-align:left;cursor:pointer;border-radius:20px;flex-direction:column;gap:8px;padding:10px 10px 14px;transition:transform .18s,box-shadow .18s;display:flex}.album-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px -22px #7a544e99}.album-card__cover{aspect-ratio:1;background:linear-gradient(150deg,#ffece8e6,#fff9f4e6);border-radius:14px;display:block;overflow:hidden}.album-card__cover img{object-fit:cover;width:100%;height:100%;display:block}.album-card__ph{width:100%;height:100%;color:var(--rose);opacity:.5;place-items:center;font-size:28px;display:grid}.album-card__name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;padding:0 4px;font-size:14.5px;overflow:hidden}.album-card__meta{color:var(--ink-soft);opacity:.8;padding:0 4px;font-size:11.5px}.album-back{margin-bottom:8px}.album-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.album-photos{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.album-photo{aspect-ratio:1;background:#fff9f499;border-radius:12px;margin:0;position:relative;overflow:hidden}.album-photo__open{cursor:zoom-in;background:0 0;border:none;width:100%;height:100%;padding:0;display:block}.album-photo__open img{object-fit:cover;width:100%;height:100%;display:block}.album-photo__cover{color:var(--ink);background:#fff9f4e6;border-radius:999px;padding:2px 8px;font-size:10px;position:absolute;bottom:6px;left:6px}.album-photo__tool{color:var(--ink);cursor:pointer;opacity:0;background:#fff9f4e0;border:none;border-radius:999px;padding:3px 8px;font-size:10px;transition:opacity .15s;position:absolute;top:6px;left:6px}.album-photo:hover .album-photo__tool{opacity:1}.album-photo__del{color:#fff;cursor:pointer;opacity:0;background:#462d2a8c;border:none;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;transition:opacity .15s;display:grid;position:absolute;top:5px;right:5px}.album-photo:hover .album-photo__del,.album-photo:focus-within .album-photo__del{opacity:1}@media (hover:none){.album-photo__tool,.album-photo__del{opacity:1}}@media (width>=720px){.album-photos{grid-template-columns:repeat(4,1fr);gap:10px}}.form__error{color:var(--rose);margin:10px 2px;font-size:12.5px}.album-actions .link-btn,.album-back{border:1px solid var(--card-border);background:var(--card);-webkit-backdrop-filter:blur(8px);color:var(--ink);border-radius:999px;padding:8px 14px;line-height:1;transition:background .15s,transform .15s}.album-actions .link-btn:hover,.album-back:hover{background:var(--card-strong,var(--card));transform:translateY(-1px)}.album-actions .link-btn--warn,.album-back.link-btn--warn{color:var(--rose)}.trash__thumb{object-fit:cover;background:#fff9f499;border-radius:10px;flex:0 0 44px;width:44px;height:44px}.trash__main{flex:1;min-width:0}.diary-board{border:1px solid var(--paper-line);background:var(--paper);border-radius:16px;overflow:hidden;box-shadow:0 18px 40px -34px #7a544e8c}.diary-board__head{border-bottom:1px solid var(--paper-line);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 14px;display:flex}.diary-board__title{letter-spacing:.06em;color:var(--ink);margin:0;font-size:17px;font-weight:500}.diary-board__write{border:1px solid var(--paper-line);color:var(--rose);cursor:pointer;background:0 0;border-radius:999px;padding:7px 13px;font-size:12.5px;transition:background .18s,border-color .18s}.diary-board__write:hover{background:color-mix(in srgb, var(--rose) 10%, transparent);border-color:color-mix(in srgb, var(--rose) 35%, transparent)}.diary-board__empty{text-align:center;padding:34px 18px}.diary-rows{margin:0;padding:0;list-style:none}.diary-rows>li+li{border-top:1px solid var(--paper-line)}.diary-row{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:6px;width:100%;padding:15px 18px 14px;transition:background .16s;display:flex}.diary-row:hover{background:color-mix(in srgb, var(--rose) 5%, transparent)}.diary-row__title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15.5px;line-height:1.55;overflow:hidden}.diary-row__meta{letter-spacing:.02em;color:var(--ink-soft);opacity:.85;font-size:11.5px}.diary-back{margin-bottom:14px}.guest{border:1px solid var(--paper-line);background:var(--paper);border-radius:16px;overflow:hidden;box-shadow:0 18px 40px -34px #7a544e8c}.guest__head{border-bottom:1px solid var(--paper-line);justify-content:space-between;align-items:baseline;gap:12px;padding:16px 18px 14px;display:flex}.guest__title{letter-spacing:.06em;color:var(--ink);margin:0;font-size:17px;font-weight:500}.guest__count{color:var(--ink-soft);opacity:.8;font-size:11.5px}.guest__composer{border-bottom:1px solid var(--paper-line);gap:10px;padding:14px 18px;display:flex}.guest-avatar{object-fit:cover;background:var(--card);border-radius:50%;flex:none}.guest-avatar--text{color:var(--rose);place-items:center;font-size:13px;display:grid}.guest__box{flex:1;min-width:0}.guest__box textarea{border:1px solid var(--paper-line);resize:vertical;background:var(--card);width:100%;min-height:70px;color:var(--ink);font:inherit;border-radius:12px;padding:10px 12px;font-size:13.5px;line-height:1.8}.guest__box textarea:focus{border-color:#c97c8673;outline:none}.guest__boxfoot{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.guest__chars{color:var(--ink-soft);opacity:.7;font-size:11px}.guest__boxfoot .btn-solid{padding:7px 16px}.guest__empty{text-align:center;padding:30px 18px}.guest__list{margin:0;padding:0;list-style:none}.guest-msg{gap:10px;padding:15px 18px;display:flex}.guest-msg+.guest-msg{border-top:1px solid var(--paper-line)}.guest-msg__main{flex:1;min-width:0}.guest-msg__head{align-items:baseline;gap:8px;margin:0 0 5px;display:flex}.guest-msg__name{color:var(--ink);font-size:13px}.guest-msg__time{color:var(--ink-soft);opacity:.75;font-size:11px}.guest-msg__del{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-size:11.5px}.guest-msg__del:hover{color:var(--rose)}.guest-msg__text{color:var(--ink);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13.5px;line-height:1.9}.guest-msg__reply{background:color-mix(in srgb, var(--rose) 7%, transparent);color:var(--ink);word-break:break-word;border-radius:10px;margin-top:9px;padding:9px 11px;font-size:12.5px;line-height:1.8}.guest-msg__replyWho{color:var(--rose)}.guest-msg__replyTime{color:var(--ink-soft);opacity:.75;font-size:11px}.guest-msg__act{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;margin-top:7px;padding:0;font-size:11.5px}.guest-msg__act:hover{color:var(--rose)}.guest-msg__form{margin-top:8px}.guest-msg__form textarea{border:1px solid var(--paper-line);resize:vertical;background:var(--card);width:100%;min-height:58px;color:var(--ink);font:inherit;border-radius:10px;padding:9px 11px;font-size:13px;line-height:1.8}.guest-msg__form textarea:focus{border-color:#c97c8673;outline:none}.guest-msg__formfoot{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.guest-msg__formfoot .btn-solid{padding:6px 14px;font-size:12px}.page--write{padding-top:84px;padding-bottom:40px}.diary-write{border:1px solid var(--paper-line);background:var(--paper);border-radius:16px;flex-direction:column;min-height:calc(100dvh - 200px);display:flex;overflow:hidden;box-shadow:0 18px 40px -34px #7a544e8c}.diary-write__bar{border-bottom:1px solid var(--paper-line);justify-content:space-between;align-items:center;gap:10px;height:52px;padding:0 14px;display:flex}.diary-write__cancel{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:8px 4px;font-size:13.5px}.diary-write__cancel:hover{color:var(--ink)}.diary-write__label{letter-spacing:.08em;color:var(--ink);font-size:13px}.diary-write__post{background:var(--hero-grad);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:7px 16px;font-size:13px;box-shadow:0 8px 18px -12px #c97c86e6}.diary-write__post:disabled{opacity:.6;cursor:default}.diary-write__title{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;padding:16px 18px 12px;font-size:19px;line-height:1.5}.diary-write__title:focus,.diary-write__body:focus{outline:none}.diary-write__title::placeholder,.diary-write__body::placeholder{color:var(--ink-soft);opacity:.5}.diary-write__tools{border-bottom:1px solid var(--paper-line);justify-content:space-between;align-items:center;gap:12px;padding:0 18px 10px;display:flex}.diary-write__date{color:var(--ink-soft);align-items:center;gap:6px;font-size:12px;display:inline-flex}.diary-write__date input{color:var(--ink-soft);font:inherit;background:0 0;border:0;padding:0;font-size:12px}.diary-write__date input:focus{outline:none}.diary-write__count{color:var(--ink-soft);opacity:.7;font-size:11.5px}.diary-write__body{resize:none;width:100%;min-height:300px;color:var(--ink);font:inherit;background:0 0;border:0;flex:1;padding:16px 18px 22px;font-size:15px;line-height:2}.diary-write__error{margin:0 18px 14px}.diary-read{border:1px solid var(--card-border);background:var(--card);border-radius:24px;padding:28px 26px 32px}.diary-read__date{letter-spacing:.18em;color:var(--ink-soft);margin:0 0 10px;font-size:11.5px}.diary-read__title{color:var(--ink);margin:0 0 8px;font-size:25px;font-weight:400;line-height:1.45}.diary-read__meta{color:var(--ink-soft);opacity:.75;margin:0 0 22px;font-size:12px}.diary-read__body{color:var(--ink);white-space:pre-wrap;word-break:break-word;font-size:15px;line-height:2.05}.diary-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.diary-actions .link-btn,.diary-back{border:1px solid var(--card-border);background:var(--card);color:var(--ink);border-radius:999px;padding:8px 14px;line-height:1}.diary-actions .link-btn--warn{color:var(--rose)}.comments{border:1px solid var(--paper-line);background:var(--paper);border-radius:16px;margin-top:20px;padding:16px 18px 18px}.comments__title{border-bottom:1px solid var(--paper-line);letter-spacing:.06em;color:var(--ink);margin:0;padding-bottom:12px;font-size:13px}.comments__empty{padding:18px 0 4px}.comments__list{margin:0;padding:0;list-style:none}.comment{border-bottom:1px solid var(--paper-line);gap:10px;padding:13px 0;display:flex}.comment:last-child{border-bottom:0;padding-bottom:4px}.comment__avatar{object-fit:cover;background:var(--card);border-radius:50%;flex:none;width:32px;height:32px}.comment__avatar--text{color:var(--rose);place-items:center;font-size:13px;display:grid}.comment__main{flex:1;min-width:0}.comment__head{align-items:baseline;gap:8px;margin:0 0 4px;display:flex}.comment__name{color:var(--ink);font-size:13px}.comment__time{color:var(--ink-soft);opacity:.75;font-size:11px}.comment__del{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-size:11.5px}.comment__del:hover{color:var(--rose)}.comment__text{color:var(--ink);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13.5px;line-height:1.85}.comments__form{border-top:1px solid var(--paper-line);flex-direction:column;gap:8px;margin-top:14px;padding-top:14px;display:flex}.comments__form textarea{border:1px solid var(--card-border);resize:vertical;background:var(--card);width:100%;min-height:78px;color:var(--ink);font:inherit;border-radius:12px;padding:11px 13px;font-size:13.5px;line-height:1.8}.comments__form textarea:focus{border-color:#c97c8673;outline:none}.comments__form .btn-solid{align-self:flex-end}.diary-editor{resize:vertical;min-height:220px;line-height:1.9}.field__count{text-align:right;color:var(--ink-soft);opacity:.65;margin-top:6px;font-size:11px;font-style:normal;display:block}.foot-stats{width:min(880px,100%);color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:4px 18px;margin:0 auto 14px;padding:0 8px;font-size:12.5px;display:flex}.foot-stats strong{font-family:var(--font-hand);color:var(--rose);margin-right:2px;font-size:23px}.foot-stats__hint{opacity:.78;margin-left:auto;font-size:12px}.foot-card{background:var(--paper);border:1px solid var(--paper-line);border-radius:26px;width:min(880px,100%);margin:0 auto 30px;padding:12px 12px 10px;box-shadow:0 22px 46px -38px #5a3c328c}.foot-tools{flex-wrap:wrap;align-items:center;gap:10px;padding:2px 2px 10px;display:flex}.foot-search{border:1px solid var(--card-border);background:var(--card);min-width:150px;height:38px;color:var(--ink);font:inherit;border-radius:12px;flex:220px;padding:0 14px;font-size:13px}.foot-search:focus{border-color:#c97c8673;outline:none}.foot-zoom{gap:6px;display:flex}.foot-zoom button{border:1px solid var(--card-border);background:var(--card);min-width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:12px;padding:0 6px;font-size:15px;line-height:1;transition:background .18s}.foot-zoom button:hover{background:var(--card-hover,#c97c861f)}.foot-zoom .foot-reset{padding:0 12px;font-size:12px}.foot-results{flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0 2px;list-style:none;display:flex}.foot-results button{border:1px solid var(--card-border);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;align-items:baseline;gap:6px;padding:6px 11px;font-size:12.5px;display:flex}.foot-results em{color:var(--ink-soft);font-size:11px;font-style:normal}.foot-results button.is-lit{background:linear-gradient(135deg, var(--rose), var(--gold));color:#fff;border-color:#0000}.foot-results button.is-lit em{color:#ffffffd1}.foot-map{background:radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--rose) 9%, var(--paper)), var(--paper));touch-action:none;cursor:grab;border-radius:18px;width:100%;height:min(66vh,620px);min-height:300px;display:block}.foot-map:active{cursor:grabbing}.foot-city{fill:var(--map-fill);stroke:var(--paper);stroke-width:.8px;transition:fill .18s}@media (hover:hover){.foot-city:hover{fill:var(--map-hover)}}.foot-city.is-lit{fill:url(#footLit)}.foot-city.is-focus{stroke:var(--rose);stroke-width:1.6px}.foot-empty{padding:60px 0}.foot-error{margin:10px 6px 2px}@media (width<=599px){.foot-map{height:58vh;min-height:260px}.foot-stats__hint{flex-basis:100%;margin-left:0}.foot-card{border-radius:22px;padding:10px}}.foot-label{fill:var(--ink);stroke:var(--paper);font-family:var(--font-hand);letter-spacing:.04em;pointer-events:none;-webkit-user-select:none;user-select:none}.foot-label.is-lit{fill:#fffaf6;stroke:#7a3e4873}.foot-visited{border-top:1px solid var(--paper-line);margin:14px 4px 4px;padding-top:14px}.foot-visited__head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.foot-visited__head h2{font-family:var(--font-hand);color:var(--ink);margin:0;font-size:17px;font-weight:400}.foot-visited__head span{color:var(--ink-soft);font-size:11.5px}.foot-visited__empty{color:var(--ink-soft);margin:10px 0 2px;font-size:12.5px}.foot-visited__groups{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--card-border) transparent;flex-direction:column;gap:8px;max-height:260px;margin:11px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.foot-visited__group{align-items:flex-start;gap:10px;display:flex}.foot-visited__prov{color:var(--ink-soft);flex:0 0 64px;padding-top:3px;font-size:11.5px}.foot-visited__cities{flex-wrap:wrap;gap:6px;display:flex}.foot-visited__cities button{border:1px solid var(--card-border);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:3px 9px;font-size:12px;transition:background .18s}.foot-visited__cities button:hover{background:var(--map-hover)}.foot-visited__cities button.is-focus{background:linear-gradient(135deg, var(--rose), var(--gold));color:#fff;border-color:#0000}@media (width<=599px){.foot-visited__prov{flex-basis:52px}}.diary-write__hint{color:var(--ink-soft);opacity:.72;font-size:11.5px}.anni-board{border:1px solid var(--card-border);background:var(--paper,var(--card));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:22px;padding:2px 20px}.anni-board--empty{text-align:center;color:var(--ink-soft);justify-items:center;gap:12px;padding:30px 20px;font-size:12.5px;display:grid}.anni-board--empty p{opacity:.85;margin:0;line-height:1.9}.anni-empty{color:var(--ink-soft);opacity:.78;margin:6px 2px 4px;font-size:12.5px}.anni-rows{margin:0;padding:0;list-style:none}.anni-rows>li+li{border-top:1px solid var(--card-border)}.anni-row{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;display:flex}.anni-row__info{gap:4px;min-width:0;display:grid}.anni-row__name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-size:15px;display:flex;overflow:hidden}.anni-row__tag{color:var(--rose);letter-spacing:.06em;background:#c97c861f;border:1px solid #c97c8647;border-radius:999px;flex:none;padding:2px 8px;font-size:10px}.anni-row__date{color:var(--ink-soft);opacity:.85;font-size:11.5px}.anni-row__right{flex-direction:column;flex:none;align-items:flex-end;gap:3px;display:flex}.anni-row__since{font-variant-numeric:tabular-nums;color:var(--ink-soft);opacity:.7;font-size:11px}.anni-row__num{font-variant-numeric:tabular-nums;color:var(--ink-soft);flex:none;font-size:13px}.anni-rows>li.is-next .anni-row__num{color:var(--rose);font-size:18px}.anni-row__num.is-past{opacity:.55}.anni-note{color:var(--ink-soft);opacity:.75;align-items:center;gap:6px;margin:14px 2px 0;font-size:11.5px;line-height:1.7;display:flex}[data-bg=image] .anni-row__name,[data-bg=image] .anni-row__num{text-shadow:0 1px 12px var(--halo)}.field--check{color:var(--ink-soft);cursor:pointer;flex-direction:row;align-items:center;gap:8px;font-size:12.5px;display:flex}.field--check input{width:16px;height:16px;accent-color:var(--rose);margin:0}.sheet__spacer{flex:1}.sheet__panel{border:1px solid var(--card-border);background:var(--page-bg);border-radius:26px;width:min(420px,100%);max-height:88vh;padding:22px 20px 18px;animation:.22s both rise;position:relative;overflow:auto;box-shadow:0 30px 70px #6446404d}.sheet__x{border:1px solid var(--card-border);background:var(--card);width:30px;height:30px;color:var(--ink-soft);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.sheet__title{color:var(--ink);margin:0 34px 16px 2px;font-size:17px;font-weight:400}.sheet__actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}
