:root{--forest-950:#102d21;--forest-900:#173b2a;--forest-800:#1f5038;--forest-700:#2b6a4a;--forest-600:#3d825d;--leaf-200:#cfe1d3;--leaf-100:#e4eee6;--paper:#f7f5ed;--paper-deep:#eeeade;--white:#fffefa;--ink:#23342d;--muted:#718077;--line:#d9dfd7;--petal:#efb9bc;--petal-deep:#bd6b72;--sun:#e8ca6c;--danger:#a9434e;--shadow:0 28px 80px #1b3e2d1f;--display:"Songti SC", "STSong", "Noto Serif CJK SC", serif;--body:"PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{color:var(--ink);background:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #3d825d40}.public-shell{background:linear-gradient(#173b2a09 1px, transparent 1px), linear-gradient(90deg, #173b2a09 1px, transparent 1px), radial-gradient(circle at 78% 18%, #efb9bc47, transparent 24%), var(--paper);background-size:44px 44px,44px 44px,auto,auto;min-height:100vh;padding:34px clamp(24px,6vw,92px);position:relative;overflow:hidden}.public-shell:before{content:"";border:1px solid #173b2a21;border-radius:50%;width:44vw;height:44vw;position:absolute;bottom:-21vw;right:-18vw;box-shadow:0 0 0 60px #173b2a06,0 0 0 120px #173b2a05}.public-header,.public-footer{z-index:2;justify-content:space-between;align-items:center;display:flex;position:relative}.brand-mark{color:var(--forest-900);font-family:var(--display);letter-spacing:.08em;align-items:center;gap:12px;font-size:20px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark.light{color:var(--white)}.brand-flower{width:42px;height:42px;color:var(--white);background:var(--forest-900);font-family:var(--display);border-radius:50% 50% 46% 54%/54% 42% 58% 46%;place-items:center;font-size:18px;font-weight:700;display:grid;transform:rotate(-5deg)}.light .brand-flower{color:var(--forest-900);background:var(--petal)}.admin-entry{color:var(--forest-900);letter-spacing:.08em;border:1px solid #173b2a59;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:700;text-decoration:none;transition:all .18s}.admin-entry:hover{color:var(--white);background:var(--forest-900)}.public-message{z-index:1;width:min(740px,92vw);margin:clamp(110px,16vh,190px) 0 110px clamp(0px,5vw,80px);position:relative}.eyebrow,.section-kicker{color:var(--forest-700);letter-spacing:.22em;margin:0 0 14px;font-size:11px;font-weight:800}.eyebrow.light{color:var(--petal)}.public-message h1{color:var(--forest-950);font-family:var(--display);letter-spacing:-.04em;margin:0;font-size:clamp(52px,7vw,98px);font-weight:500;line-height:1.08}.public-copy{max-width:510px;color:var(--muted);margin:34px 0 0;font-size:17px;line-height:1.9}.access-note{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffefac7;border-radius:18px;align-items:center;gap:16px;margin-top:38px;padding:17px 22px 17px 16px;display:inline-flex;box-shadow:0 14px 40px #1b3e2d12}.access-note-icon{width:42px;height:42px;color:var(--petal-deep);background:#fae4e4;border-radius:50%;place-items:center;display:grid}.access-note strong,.access-note p{display:block}.access-note strong{font-size:14px}.access-note p{color:var(--muted);margin:3px 0 0;font-size:12px}.public-footer{color:var(--muted);letter-spacing:.1em;font-size:11px;position:absolute;bottom:32px;left:clamp(24px,6vw,92px);right:clamp(24px,6vw,92px)}.petal{z-index:0;filter:blur(.2px);opacity:.72;background:linear-gradient(140deg,#efb9bcb3,#efb9bc14);border-radius:95% 15% 75% 25%;width:180px;height:110px;animation:7s ease-in-out infinite float-petal;position:absolute}.petal-one{top:18%;right:10%;transform:rotate(28deg)}.petal-two{width:112px;height:70px;animation-delay:-3s;bottom:8%;right:24%;transform:rotate(-26deg)}@keyframes float-petal{0%,to{translate:0}50%{translate:0 -14px}}.centered-page{background:radial-gradient(circle at 25% 20%, #efb9bc3d, transparent 24%), linear-gradient(135deg, var(--paper), #e9f0e8);place-items:center;min-height:100vh;padding:24px;display:grid}.notice-card{text-align:center;border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow);background:#fffefae6;border-radius:32px;padding:52px}.notice-illustration{width:94px;height:94px;color:var(--petal-deep);background:#f9e2e2;border:1px solid #f0cfd1;border-radius:50%;place-items:center;margin:0 auto 26px;font-size:42px;display:grid}.notice-card h1{color:var(--forest-950);font-family:var(--display);margin:0 0 15px;font-size:36px;font-weight:500}.notice-card>p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.8}.primary-link,.primary-button,.create-button{min-height:46px;color:var(--white);background:var(--forest-900);border:1px solid var(--forest-900);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0 22px;font-weight:750;text-decoration:none;transition:translate .18s,box-shadow .18s,background .18s;display:inline-flex}.primary-link{margin-top:28px}.primary-link:hover,.primary-button:hover:not(:disabled),.create-button:hover{background:var(--forest-800);translate:0 -1px;box-shadow:0 10px 24px #173b2a33}.primary-button:disabled{cursor:wait;opacity:.62}.auth-shell{grid-template-columns:minmax(380px,.95fr) minmax(480px,1.05fr);min-height:100vh;display:grid}.auth-story{color:var(--white);background:radial-gradient(circle at 80% 78%, #efb9bc2b, transparent 28%), linear-gradient(145deg, var(--forest-950), #21563d);flex-direction:column;justify-content:space-between;padding:clamp(34px,5vw,70px);display:flex;position:relative;overflow:hidden}.auth-story:before{content:"";border:1px solid #ffffff1a;border-radius:50%;width:420px;height:420px;position:absolute;top:12%;right:-190px;box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05}.auth-story>div:not(.auth-orbit){z-index:1;max-width:560px;margin-bottom:10vh;position:relative}.auth-story h1{font-family:var(--display);letter-spacing:-.04em;margin:0;font-size:clamp(44px,5vw,76px);font-weight:500;line-height:1.16}.auth-story p:not(.eyebrow){color:#ffffffab;max-width:480px;margin:30px 0 0;font-size:16px;line-height:1.9}.auth-orbit{color:var(--petal);align-items:center;gap:20px;font-size:20px;display:flex;position:absolute;bottom:7%;right:10%;rotate:-9deg}.auth-orbit span:nth-child(2){font-size:44px}.auth-form-side{background:linear-gradient(#173b2a06 1px, transparent 1px), var(--paper);background-size:100% 38px;place-items:center;padding:44px;display:grid}.auth-form-wrap{width:min(440px,100%)}.auth-form-wrap h2{color:var(--forest-950);font-family:var(--display);margin:0;font-size:42px;font-weight:500}.form-intro{color:var(--muted);margin:14px 0 32px;font-size:14px;line-height:1.8}.auth-form,.password-form,.link-form{gap:20px;display:grid}.auth-form label,.password-form label,.link-form>label{gap:9px;display:grid}.auth-form label>span,.password-form label>span,.link-form label>span,.link-form legend{color:var(--forest-950);font-size:13px;font-weight:750}.auth-form input,.password-form input,.link-form input{width:100%;height:50px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:11px;padding:0 15px;transition:border .16s,box-shadow .16s}.auth-form input:focus,.password-form input:focus,.link-form input:focus{border-color:var(--forest-600);outline:none;box-shadow:0 0 0 4px #3d825d17}.form-error{color:var(--danger);background:#fae8e9;border:1px solid #efc8cb;border-radius:10px;padding:12px 14px;font-size:13px}.auth-form .primary-button{width:100%;margin-top:5px}.back-home{color:var(--muted);margin-top:28px;font-size:13px;text-decoration:none;display:inline-block}.back-home:hover{color:var(--forest-800)}.admin-layout{background:radial-gradient(circle at 85% 5%, #efb9bc29, transparent 19%), var(--paper);grid-template-columns:250px 1fr;min-height:100vh;display:grid}.admin-sidebar{z-index:5;height:100vh;color:var(--white);background:linear-gradient(180deg, #ffffff06, transparent 30%), var(--forest-950);flex-direction:column;padding:28px 20px 22px;display:flex;position:sticky;top:0}.admin-brand{border-bottom:1px solid #ffffff17;align-items:center;gap:12px;padding:0 8px 30px;display:flex}.admin-brand .brand-flower{color:var(--forest-950);background:var(--petal)}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font-family:var(--display);letter-spacing:.08em;font-size:19px}.admin-brand small{color:#ffffff70;letter-spacing:.12em;margin-top:3px;font-size:10px}.admin-nav{gap:7px;margin-top:28px;display:grid}.admin-nav button{color:#ffffff94;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:13px;height:46px;padding:0 14px;font-size:14px;transition:all .16s;display:flex}.admin-nav button span{width:22px;color:var(--petal);place-items:center;font-size:17px;display:grid}.admin-nav button:hover,.admin-nav button.active{color:var(--white);background:#ffffff17}.admin-nav button.active{box-shadow:inset 3px 0 var(--petal)}.admin-user{border-top:1px solid #ffffff17;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;margin-top:auto;padding:16px 10px 0;display:grid}.user-avatar{width:38px;height:38px;color:var(--forest-950);background:var(--petal);font-family:var(--display);border-radius:50%;place-items:center;font-weight:700;display:grid}.admin-user strong,.admin-user small{display:block}.admin-user strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.admin-user small{color:#ffffff6b;margin-top:3px;font-size:10px}.admin-user>button{color:#ffffff8a;cursor:pointer;background:0 0;border:0;border-radius:8px;width:32px;height:32px;font-size:18px}.admin-user>button:hover{color:var(--white);background:#ffffff14}.admin-main{min-width:0;padding:34px clamp(24px,4vw,64px) 64px;position:relative}.admin-topbar{justify-content:space-between;align-items:flex-end;margin-bottom:34px;display:flex}.admin-topbar h1{color:var(--forest-950);font-family:var(--display);margin:0;font-size:40px;font-weight:500}.create-button{border-radius:999px;gap:7px}.create-button span{font-size:18px;font-weight:400}.dashboard-section{gap:24px;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card{background:var(--white);border:1px solid var(--line);border-radius:20px;min-height:164px;padding:24px;position:relative;overflow:hidden}.metric-card:after{content:"";opacity:.06;border:16px solid;border-radius:50%;width:90px;height:90px;position:absolute;bottom:-34px;right:-34px}.metric-card span{color:var(--muted);letter-spacing:.08em;font-size:12px;font-weight:750}.metric-card strong{color:var(--forest-950);font-family:var(--display);margin-top:18px;font-size:48px;font-weight:500;line-height:1;display:block}.metric-line{background:currentColor;border-radius:99px;width:36px;height:3px;margin-top:22px}.metric-card.ink{color:var(--forest-950)}.metric-card.green{color:#4b9b6f}.metric-card.rose{color:var(--petal-deep)}.metric-card.sand{color:#c5a23e}.overview-grid,.account-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:24px;display:grid}.panel{border:1px solid var(--line);background:#fffefae8;border-radius:22px;box-shadow:0 12px 38px #1a3c2c0e}.recent-panel,.table-panel,.audit-panel,.security-intro,.password-panel{padding:26px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.panel-heading h2,.garden-note h2,.security-intro h2{color:var(--forest-950);font-family:var(--display);margin:0;font-size:27px;font-weight:500}.panel-heading button:not(.primary-button){color:var(--forest-700);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:12px;font-weight:750}.panel-count{color:var(--muted);background:var(--leaf-100);border-radius:999px;padding:7px 12px;font-size:11px}.compact-link-list{display:grid}.compact-link-list>div{border-top:1px solid #e8ebe5;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:15px 2px;display:grid}.compact-link-list strong,.compact-link-list small{display:block}.compact-link-list strong{font-size:14px}.compact-link-list small{color:var(--muted);margin-top:4px;font-size:11px}.compact-link-list>div>span:last-child{color:var(--muted);font-size:11px}.status-dot{border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 4px}.status-dot.active{color:#3d825d1f;background:var(--forest-600)}.status-dot.expired{color:#bd6b721f;background:var(--petal-deep)}.status-dot.disabled{color:#c5a23e21;background:#b89535}.garden-note{color:var(--white);background:var(--forest-900);border-color:var(--forest-900);padding:32px;position:relative;overflow:hidden}.garden-note:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-110px;right:-110px;box-shadow:0 0 0 48px #ffffff06}.garden-note .section-kicker{color:var(--petal)}.garden-note h2{color:var(--white);font-size:31px;line-height:1.3}.garden-note>p:not(.section-kicker){z-index:1;color:#ffffff9e;margin:22px 0 0;font-size:13px;line-height:1.8;position:relative}.garden-note-flower{color:var(--petal);margin-bottom:35px;font-size:40px;display:block}.loading-panel{min-height:340px;color:var(--muted);border:1px solid var(--line);background:#fffefaa6;border-radius:22px;justify-content:center;align-items:center;gap:12px;display:flex}.loading-flower{color:var(--petal-deep);font-size:25px;animation:1.8s linear infinite flower-spin}@keyframes flower-spin{to{rotate:360deg}}.toast{z-index:50;max-width:360px;color:var(--white);border-radius:12px;padding:14px 18px;font-size:13px;animation:.18s ease-out toast-in;position:fixed;top:24px;right:28px;box-shadow:0 18px 50px #142d213d}.toast.success{background:var(--forest-800)}.toast.error{background:var(--danger)}@keyframes toast-in{0%{opacity:0;translate:0 -8px}}.table-scroll{overflow-x:auto}.link-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.link-table th{color:var(--muted);text-align:left;letter-spacing:.05em;background:#f2f3ed;padding:12px 14px;font-size:11px;font-weight:750}.link-table th:first-child{border-radius:10px 0 0 10px}.link-table th:last-child{border-radius:0 10px 10px 0}.link-table td{color:#3f5148;vertical-align:middle;border-bottom:1px solid #e7eae4;padding:17px 14px}.link-name-cell{grid-template-columns:auto 1fr;align-items:center;gap:13px;display:grid}.link-name-cell strong,.link-name-cell small{display:block}.link-name-cell strong{color:var(--ink);font-size:13px}.link-name-cell small,.cell-subline{color:var(--muted);margin-top:4px;font-size:10px}.cell-subline{display:block}.row-actions{gap:5px;display:flex}.row-actions button{color:var(--forest-700);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 8px;font-size:11px}.row-actions button:hover{background:var(--leaf-100)}.row-actions button.danger{color:var(--danger)}.row-actions button.danger:hover{background:#fae7e8}.pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:15px;padding-top:22px;font-size:11px;display:flex}.pagination button,.secondary-button{min-height:38px;color:var(--forest-800);background:var(--white);border:1px solid var(--line);cursor:pointer;border-radius:9px;padding:0 14px;font-weight:700}.pagination button:disabled{cursor:not-allowed;opacity:.4}.empty-state{text-align:center;padding:70px 20px}.empty-state>span{color:var(--petal-deep);font-size:42px}.empty-state h3{font-family:var(--display);margin:12px 0 5px;font-size:25px;font-weight:500}.empty-state p{color:var(--muted);margin:0 0 24px;font-size:13px}.empty-inline{color:var(--muted);text-align:center;padding:70px 20px}.audit-list{display:grid}.audit-list article{border-top:1px solid #e7eae4;grid-template-columns:34px 1fr auto;align-items:center;gap:14px;padding:17px 2px;display:grid}.audit-mark{width:32px;height:32px;color:var(--petal-deep);background:#fae7e8;border-radius:50%;place-items:center;display:grid}.audit-list strong{font-size:13px}.audit-list p{color:var(--muted);margin:4px 0 0;font-size:11px}.audit-list time{color:var(--muted);font-size:11px}.security-intro{color:var(--white);background:radial-gradient(circle at 82% 17%, #efb9bc33, transparent 22%), var(--forest-900);border-color:var(--forest-900)}.security-intro .section-kicker{color:var(--petal)}.security-intro h2{color:var(--white);font-size:36px}.security-intro>p:not(.section-kicker){color:#ffffff9e;max-width:450px;line-height:1.8}.security-seal{background:#ffffff12;border:1px solid #ffffff17;border-radius:14px;align-items:center;gap:13px;margin-top:38px;padding:15px;display:flex}.security-seal>span{width:36px;height:36px;color:var(--forest-950);background:var(--petal);border-radius:50%;place-items:center;font-weight:900;display:grid}.security-seal strong,.security-seal small{display:block}.security-seal strong{font-size:13px}.security-seal small{color:#ffffff78;margin-top:3px;font-size:10px}.password-form{max-width:520px}.password-form .primary-button{width:fit-content;margin-top:4px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0d261b9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.link-editor{background:var(--paper);border:1px solid #fff6;border-radius:24px;width:min(540px,100%);padding:30px;animation:.18s ease-out modal-in;box-shadow:0 35px 100px #081d1359}@keyframes modal-in{0%{opacity:0;translate:0 10px;scale:.97}}.modal-heading{justify-content:space-between;gap:20px;margin-bottom:25px;display:flex}.modal-heading h2{color:var(--forest-950);font-family:var(--display);margin:0;font-size:30px;font-weight:500}.modal-close{width:38px;height:38px;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;font-size:23px;line-height:1}.link-form fieldset{border:0;gap:10px;margin:0;padding:0;display:grid}.link-form legend{margin-bottom:9px}.choice-row{background:var(--white);border:1px solid var(--line);cursor:pointer;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px;display:grid}.choice-row:has(input:checked){border-color:var(--forest-600);box-shadow:0 0 0 3px #3d825d14}.choice-row input{width:17px;height:17px;accent-color:var(--forest-700)}.choice-row strong,.choice-row small{display:block}.choice-row strong{font-size:13px}.choice-row small{color:var(--muted);margin-top:4px;font-size:10px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:5px;display:flex}@media (max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid,.account-grid{grid-template-columns:1fr}.garden-note{min-height:320px}}@media (max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-story{min-height:380px}.auth-story>div:not(.auth-orbit){margin:70px 0 0}.auth-form-side{padding:54px 24px}.admin-layout{display:block}.admin-sidebar{flex-direction:row;align-items:center;width:100%;height:auto;padding:14px 18px;position:sticky}.admin-brand{border:0;padding:0}.admin-brand small,.admin-user{display:none}.admin-brand .brand-flower{width:34px;height:34px;font-size:14px}.admin-nav{gap:3px;margin:0 0 0 auto;display:flex;overflow-x:auto}.admin-nav button{justify-content:center;width:42px;height:40px;padding:0;font-size:0}.admin-nav button span{font-size:17px}.admin-nav button.active{box-shadow:inset 0 -3px var(--petal)}.admin-main{padding:28px 18px 50px}.admin-topbar{align-items:center}.admin-topbar h1{font-size:31px}.create-button{min-height:42px;padding:0 15px;font-size:12px}}@media (max-width:600px){.public-shell{padding:24px 20px}.public-message{margin:120px 0 100px}.public-message h1{font-size:47px}.public-copy{font-size:15px}.admin-entry{padding:9px 13px;font-size:11px}.public-footer{left:20px;right:20px}.notice-card{padding:38px 24px}.auth-story{min-height:340px;padding:26px 24px}.auth-story h1{font-size:38px}.auth-story p:not(.eyebrow){font-size:13px}.auth-form-wrap h2{font-size:36px}.admin-brand strong{display:none}.admin-topbar{align-items:flex-start}.admin-topbar .section-kicker{display:none}.create-button{font-size:0}.create-button span{font-size:22px}.metric-grid{gap:10px}.metric-card{min-height:135px;padding:19px}.metric-card strong{font-size:40px}.recent-panel,.table-panel,.audit-panel,.security-intro,.password-panel{padding:20px}.compact-link-list>div{grid-template-columns:auto 1fr}.compact-link-list>div>span:last-child{display:none}.audit-list article{grid-template-columns:32px 1fr}.audit-list time{grid-column:2}.link-editor{padding:24px 19px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
