:root{--navy:#0b283d;--teal:#087f7c;--gold:#b99043;--page:#f3f5f7;--surface:#fff;--ink:#183143;--muted:#667b89;--line:#e1e8ec;--shadow:0 8px 28px #17314206;--soft:#edf6f4;--sidebar:#102a3d}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--page);font-family:-apple-system,BlinkMacSystemFont,'PingFang TC','Noto Sans TC',sans-serif;font-size:14px;line-height:1.7}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.5;letter-spacing:-.03em}h2{font-size:19px;line-height:1.65}h3{font-size:15px}hr{border:0;border-top:1px solid var(--line);margin:28px 0}small{font-size:12px;color:var(--muted)}.app-shell{display:flex;min-height:100dvh}.sidebar{width:244px;position:fixed;inset:0 auto 0 0;padding:32px 22px;background:var(--sidebar);color:#eef5f7;display:flex;flex-direction:column;z-index:50;overflow:auto}.brand{display:flex;align-items:center;gap:13px;color:inherit;font-size:25px;letter-spacing:.14em}.brand img{width:44px;height:44px;object-fit:contain}.brand-filter-defs{position:absolute;pointer-events:none;overflow:hidden}.sidebar .brand img,.auth-story .brand img,.orbit img,.dark .brand img{background:transparent;filter:url(#brand-night)}.brand b{display:block;font-size:10px;font-weight:400;letter-spacing:.22em;color:#99b8c6}.workspace-label{font-size:9px;letter-spacing:.12em;color:#96b0bf;margin:40px 0 20px;display:flex;justify-content:space-between}.workspace-label span{color:#d2ba82}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;color:#a9bdc8;border-radius:8px;transition:.2s;text-decoration:none}.sidebar nav a:hover{background:#ffffff0a;color:#fff;transform:translateX(2px)}.sidebar nav a.active{background:#1b454f;color:#a3e8d6;box-shadow:inset 3px 0 #bca05e}.sidebar nav i{font-size:19px;font-style:normal;width:20px;text-align:center}.sidebar nav b{margin-left:auto;font-size:11px}.sidebar-bottom{margin-top:auto;padding-top:40px;font-size:12px;color:#adc0ca}.sidebar-bottom p{font-size:11px;line-height:1.8;margin:8px 0 14px;color:#7997a9}.sidebar-bottom a{color:#bcd7dc;font-size:11px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7dc9b7;margin-right:6px}.main-shell{margin-left:244px;width:calc(100% - 244px)}.topbar{height:80px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:18px}.topbar>span{font-size:12px;color:var(--muted)}.topbar>span b{color:var(--line);padding:0 12px}.topbar>div{display:flex;align-items:center;gap:18px}.topbar form{margin:0}.avatar{display:flex;justify-content:center;align-items:center;width:34px;height:34px;background:var(--soft);color:var(--teal);border-radius:50%;font-size:13px}.account{font-size:12px}.account small{display:block;font-size:9px;color:var(--muted)}.notice-link{font-size:12px;color:var(--muted)}.notice-link b{margin-left:6px;color:var(--teal)}.theme-switch{border:1px solid var(--line);background:none;color:var(--muted);border-radius:50%;width:32px;height:32px}.menu-toggle{display:none}main#main{max-width:1700px;margin:auto;padding:32px 38px 45px}.preview-note{font-size:12px;padding:12px 18px;border:1px solid #d5c398;background:#fcf8ed;color:#736039;border-radius:6px;margin-bottom:28px;display:flex;justify-content:space-between;gap:15px}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 30px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.15em;color:var(--teal);margin-bottom:13px}.page-intro h1 span{color:var(--teal);display:block}.page-intro p:not(.eyebrow){color:var(--muted);font-size:13px;margin-bottom:0}.compact h1{margin-bottom:0;font-size:28px}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--teal);color:white;border:1px solid var(--teal);border-radius:7px;padding:11px 19px;font-size:13px;line-height:1.6;gap:12px;transition:box-shadow .2s,transform .2s;text-decoration:none;cursor:pointer}.btn:hover{box-shadow:0 6px 18px #087f7c22;transform:translateY(-1px);text-decoration:none}.btn.secondary{color:var(--teal);background:var(--surface);border-color:var(--line)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:24px 0}.metric{background:var(--surface);padding:23px 24px 18px;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);position:relative;overflow:hidden}.metric>div:first-child{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.metric i{font-style:normal;color:var(--teal);background:var(--soft);width:28px;height:28px;text-align:center;border-radius:7px}.metric strong{display:block;font-size:35px;font-weight:500;line-height:1.8;font-variant-numeric:tabular-nums}.metric small{font-size:10px}.metric-line{height:3px;width:38px;background:var(--gold);margin-top:18px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:28px;min-width:0;box-shadow:var(--shadow);animation:arrive .35s ease-out}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.panel-heading h2{margin:0}.panel-heading a{font-size:11px;white-space:nowrap}.panel-heading .eyebrow{display:block;font-size:9px}.tag{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:4px 10px;white-space:nowrap}.task-row{display:flex;align-items:center;gap:18px;margin-top:26px}.task-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;background:var(--soft);border-radius:8px;color:var(--teal);font-size:11px}.task-row h3{font-size:14px;margin:0 0 5px}.task-row p{font-size:11px;color:var(--muted);margin:0}.task-row a{font-size:11px;margin-left:auto;white-space:nowrap}.brand-panel{background:linear-gradient(120deg,#0c3546,#174c51);color:#e5f2f3;position:relative;overflow:hidden;padding:34px}.brand-panel .eyebrow{color:#c7b37a;margin-top:45px}.brand-panel h2{font-size:24px;line-height:1.6;position:relative;max-width:340px}.brand-panel p{font-size:12px;color:#a0c4c8}.brand-panel>a{font-size:12px;color:#e2e8d8}.orbit{width:140px;height:140px;border:1px solid #ffffff13;border-radius:50%;position:absolute;top:-20px;right:-15px;display:flex;align-items:center;justify-content:center}.orbit:after{content:'';position:absolute;inset:-25px;border:1px solid #ffffff08;border-radius:50%}.orbit img{width:55px;opacity:.6;filter:url(#brand-night)}.empty-state{text-align:center;padding:27px 14px;color:var(--muted)}.empty-state>span{font-size:27px;color:var(--teal);display:block;margin-bottom:14px}.empty-state h3{font-size:14px;font-weight:500;color:var(--ink);margin-bottom:7px}.empty-state p{font-size:12px;margin:0}.list-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}.list-row:last-child{border-bottom:0}.list-row small,td small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}.badge{display:inline-block;font-size:11px;background:var(--soft);color:var(--teal);padding:4px 10px;border-radius:20px;white-space:nowrap}.badge.review{background:#faf0d7;color:#927220}.badge.returned{background:#f9eceb;color:#ac6257}.activity{display:flex;gap:12px;margin:20px 0;font-size:12px}.activity i{height:6px;width:6px;border-radius:50%;background:var(--teal);margin-top:8px}.activity small{display:block;font-size:10px}.main-shell footer{display:flex;justify-content:space-between;padding:20px 38px;color:var(--muted);font-size:10px;border-top:1px solid var(--line)}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;background:var(--page);color:var(--muted);font-weight:500;padding:13px 16px;white-space:nowrap}td{padding:20px 16px;border-bottom:1px solid var(--line);font-size:13px}tr:last-child td{border-bottom:0}tr:hover td{background:color-mix(in srgb,var(--soft) 35%,transparent)}.empty-cell{text-align:center;color:var(--muted);padding:45px}.stack-form{display:grid;gap:17px}.stack-form p{margin:0}.stack-form label{display:block;font-size:13px;margin-bottom:6px}input,select,textarea{display:block;background:var(--surface);color:var(--ink);padding:11px 12px;border:1px solid var(--line);border-radius:6px;width:100%;max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #3aa69d44;border-color:var(--teal)}input[type=checkbox]{width:auto;display:inline-block}.stack-form .btn{justify-self:start}.helptext{display:block;font-size:11px;color:var(--muted);margin-top:6px}.errorlist{color:#b24338;padding-left:20px;font-size:12px}.muted{color:var(--muted);font-size:13px;line-height:1.9}.text-btn{background:none;border:0;color:var(--teal);font-size:12px;padding:5px 0}.danger{color:#b95449}.spaced{margin-top:24px}.policy-row{padding:15px 0;border-bottom:1px solid var(--line)}.policy-row b{font-size:14px}.policy-row p{font-size:12px;color:var(--muted);margin:7px 0 0}.callout{border-left:3px solid var(--gold);background:var(--page);padding:18px;margin:22px 0;font-size:13px}.callout p{font-size:12px;color:var(--muted);margin:7px 0 0}.callout input{margin-top:12px}.editor-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:25px}.editor-aside{align-self:start}.editor-aside h2{font-size:20px}.steps{padding-left:20px;color:var(--muted);font-size:13px;line-height:2.7}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.flash{background:var(--soft);border-left:3px solid var(--teal);padding:15px 20px;margin:0 0 22px;border-radius:4px}.error{background:#fff1ed;color:#a63d35;padding:12px}.preline{white-space:pre-line;line-height:2}.toast{position:fixed;bottom:25px;right:25px;max-width:360px;background:var(--navy);color:white;padding:16px 24px;border-radius:8px;z-index:80}.auth-page{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.auth-story{background:linear-gradient(145deg,#112d40,#144d51);padding:60px;color:white;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start}.auth-story .eyebrow{color:#cdb476;margin-top:110px}.auth-story h1{font-family:'Songti TC',serif;font-size:44px;line-height:1.7}.auth-story>p:not(.eyebrow){color:#b2ced0;font-size:15px}.auth-story small{margin-top:auto;color:#9bb7c0;padding-top:70px}.auth-orbit{font-size:170px;position:absolute;right:-20px;bottom:15%;color:#ffffff09;transform:rotate(10deg)}.auth-form{max-width:540px;width:100%;padding:70px 45px;margin:auto}.auth-form h2{font-size:28px}.auth-form form{margin:28px 0}.auth-form ul{font-size:12px;padding-left:18px}.activation{max-width:660px;margin:50px auto}.activation-page{padding:0 20px}.qr{background:white;max-width:240px;margin:20px auto}.qr svg{width:100%;height:auto;display:block}.member-header{padding:25px 6%;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--line)}.member-header .brand{color:var(--ink)}.member-header .brand b{color:var(--muted)}.member-main{max-width:1400px;margin:auto;padding:60px 5%}.member-main>h1{max-width:700px}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px}.member-grid .panel h2{font-size:22px}.checkbox-label{font-size:12px!important}.result-item{padding:20px 0;border-bottom:1px solid var(--line)}.published-page{max-width:840px;padding:60px 28px;margin:auto}.content-image{max-width:100%;max-height:500px;object-fit:contain}.article-body{line-height:2.1;font-size:16px}.table-search{max-width:220px}.dark{--page:#101e2b;--surface:#172939;--ink:#e2ebef;--muted:#9bb0bd;--line:#2b4050;--soft:#193d42;--shadow:none;--teal:#78c7ba}.dark .btn:not(.secondary){background:#167a73;color:white;border-color:#167a73}.dark .preview-note{background:#332e22;color:#d3c49c;border-color:#4d4739}.dark .metric-line{background:#bda465}.dark .badge.review{background:#493f25;color:#e0c98e}.dark .badge.returned{background:#422d2b;color:#e1aca3}@keyframes arrive{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}@media(min-width:1900px){main#main{padding:48px 65px}.page-intro h1{font-size:40px}.metric-grid{gap:25px}.dashboard-grid{gap:28px}.panel{padding:35px}}@media(max-width:1100px){.sidebar{width:205px;padding:28px 15px}.main-shell{margin-left:205px;width:calc(100% - 205px)}main#main{padding:25px}.topbar{padding:0 25px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.editor-layout{grid-template-columns:1fr}.member-grid{grid-template-columns:1fr}.auth-story{padding:40px}.auth-story h1{font-size:33px}}@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:none;box-shadow:0 0 0 100vmax #07152688}.main-shell{margin-left:0;width:100%}.menu-toggle{display:block;flex-shrink:0;background:none;border:0;color:var(--ink);font-size:20px}.topbar{height:68px;padding:0 18px}.topbar>span{display:none}.topbar>div{gap:12px}.account{max-width:120px;overflow-wrap:anywhere}.page-intro{align-items:flex-start;flex-direction:column}.page-intro h1{font-size:27px}.preview-note{display:block;font-size:11px}.preview-note a{display:block;margin-top:8px}main#main{padding:22px 16px}.metric-grid{gap:12px}.metric{padding:18px 15px}.metric small{font-size:9px}.panel{padding:22px}.task-row{gap:12px}.task-row p{font-size:10px}.panel-heading{align-items:flex-start;flex-wrap:wrap}.main-shell footer{padding:18px;display:block}.main-shell footer span{display:block}.auth-page{grid-template-columns:1fr}.auth-story{padding:28px;min-height:210px}.auth-story .eyebrow{margin-top:30px}.auth-story h1{font-size:27px;margin-bottom:15px}.auth-story>p:not(.eyebrow),.auth-story small{display:none}.auth-form{padding:35px 25px}.activation{margin:25px auto}.activation h1{font-size:25px}.member-header{padding:20px}.member-main{padding:35px 20px}.member-main h1{font-size:28px}.table-scroll{margin:0 -6px}.toast{left:18px;right:18px}.brand-panel h2{font-size:23px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.sidebar-close{display:none}@media(max-width:720px){.sidebar{visibility:hidden}.sidebar.open{visibility:visible}.sidebar-close{display:block;position:absolute;right:12px;top:9px;background:none;border:0;color:#bdd0d8;font-size:25px;padding:3px 8px}}

/* Workspace finishes: iridescent light theme, champagne metal dark theme. */
:is(.app-shell,body.auth-page,body.activation-page){--finish:linear-gradient(115deg,#d4b8e9,#bed7ef 23%,#c2e5d9 41%,#f1dfb2 59%,#ecc4bf 78%,#d7bce9);--finish-line:linear-gradient(110deg,#9971b6,#628dbd 24%,#569988 43%,#bc984c 62%,#ba787a 82%,#9971b6);--finish-ink:#352940;--finish-edge:#c5b3d7;--finish-focus:#806298;--finish-halo:#9475af25;--finish-nav:#302f49;--finish-nav-ink:#eddefb}
:is(.dark .app-shell,body.dark.auth-page,body.dark.activation-page){--finish:linear-gradient(115deg,#ba8a3c,#e0bc72 23%,#f8e7af 43%,#d7b365 61%,#bf9449 80%,#e8ca88);--finish-line:linear-gradient(110deg,#a87932,#e5c67f 26%,#fff0bf 45%,#bd8b3f 68%,#e8ca88);--finish-ink:#30230e;--finish-edge:#d6b36a;--finish-focus:#e2bf76;--finish-halo:#d8b05b25;--finish-nav:#34342e;--finish-nav-ink:#f2db9e}
:is(.app-shell,body.auth-page,body.activation-page) .sidebar nav a.active{position:relative;isolation:isolate;overflow:hidden;background:var(--finish-nav);color:var(--finish-nav-ink);box-shadow:inset 0 1px 0 #ffffff0d}
:is(.app-shell,body.auth-page,body.activation-page) .sidebar nav a.active:before{content:'';position:absolute;inset:8px auto 8px 0;width:3px;border-radius:4px;background:var(--finish-line)}
:is(.app-shell,body.auth-page,body.activation-page) .sidebar nav a.active i{color:var(--finish-nav-ink)}
:is(.app-shell,body.auth-page,body.activation-page) .btn:not(.secondary):not(.danger){position:relative;isolation:isolate;overflow:hidden;background:var(--finish);color:var(--finish-ink);border:1px solid var(--finish-edge);border-top-color:#fff1cbbb;text-shadow:0 1px 0 #ffffff60;box-shadow:inset 0 1px 0 #ffffff70,inset 0 -1px 0 #35294018,0 3px 9px #102a3d12;font-weight:600;transition:box-shadow .25s,transform .25s}
:is(.app-shell,body.auth-page,body.activation-page) .btn:not(.secondary):not(.danger):after{content:'';position:absolute;inset:-60% -70%;pointer-events:none;background:linear-gradient(110deg,transparent 42%,#fff9e980 50%,transparent 58%);transform:translateX(-65%)}
:is(.app-shell,body.auth-page,body.activation-page) .btn:not(.secondary):not(.danger):is(:hover,:focus-visible){box-shadow:inset 0 1px 0 #ffffff90,0 5px 16px var(--finish-halo)}
:is(.app-shell,body.auth-page,body.activation-page) .metric-line{background:var(--finish-line);width:48px;box-shadow:0 1px 5px var(--finish-halo)}
:is(.app-shell,body.auth-page,body.activation-page) .panel:not(.brand-panel){background:var(--finish-line) top left / 100% 2px no-repeat,var(--surface);border-top-color:transparent}
:is(.app-shell,body.auth-page,body.activation-page) .page-intro h1{padding-bottom:14px;background:var(--finish-line) bottom left / 46px 2px no-repeat}
:is(.app-shell,body.auth-page,body.activation-page) input:not([type=checkbox]):focus,:is(.app-shell,body.auth-page,body.activation-page) select:focus,:is(.app-shell,body.auth-page,body.activation-page) textarea:focus{border-color:var(--finish-focus);outline:2px solid var(--finish-halo);box-shadow:0 0 0 3px var(--finish-halo)}
:is(.app-shell,body.auth-page,body.activation-page) .btn:focus-visible{outline:2px solid var(--finish-focus);outline-offset:4px}
@keyframes console-metal-sweep{to{transform:translateX(65%)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){:is(.app-shell,body.auth-page,body.activation-page) .btn:not(.secondary):not(.danger):is(:hover,:focus-visible):after{animation:console-metal-sweep .7s ease-out 1}}
@media(forced-colors:active){:is(.app-shell,body.auth-page,body.activation-page) .sidebar nav a.active{outline:2px solid Highlight}:is(.app-shell,body.auth-page,body.activation-page) .panel:not(.brand-panel){border-top-color:CanvasText}:is(.app-shell,body.auth-page,body.activation-page) .btn:not(.secondary):not(.danger){border-color:ButtonText;color:ButtonText}}

.auth-appearance{display:flex;justify-content:flex-end;margin-bottom:24px}.auth-appearance .theme-switch{width:auto;height:auto;min-height:44px;padding:8px 15px;border-radius:24px;background:var(--surface);color:var(--ink);font-size:13px}.auth-page .auth-form h2,.activation-page h1{padding-bottom:17px;background:var(--finish-line) bottom left / 54px 2px no-repeat}.auth-page .auth-form{border-top:2px solid transparent;background:var(--finish-line) top left / 100% 2px no-repeat}.auth-page .auth-story{box-shadow:inset -1px 0 0 var(--finish-edge)}

/* Brief interaction feedback, no continuous decorative motion. */
.app-shell .sidebar nav a{transition:background-color .2s,color .2s,transform .2s,box-shadow .2s}
.app-shell .btn:active{transform:translateY(1px) scale(.985);box-shadow:inset 0 2px 4px #102a3d25}
.app-shell .btn:disabled{cursor:wait;transform:none;opacity:.75}
.app-shell .btn:disabled:after{display:none}
.app-shell .metric,.app-shell .panel{transition:border-color .2s,box-shadow .2s}
.app-shell .panel:focus-within{border-color:var(--finish-edge)}
.app-shell td{transition:background-color .18s}
.app-shell .flash{display:flex;align-items:center;gap:12px}
.app-shell .flash.success:before{content:'✓';display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex-shrink:0;border:1px solid currentColor;border-radius:50%;color:var(--teal)}
.submit-progress{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);margin-top:12px}
.submit-progress:before{content:'';width:13px;height:13px;flex-shrink:0;border:2px solid var(--line);border-top-color:var(--finish-focus,var(--teal));border-radius:50%}
@keyframes console-enter{from{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes console-progress{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:no-preference){.app-shell main#main{animation:console-enter .2s ease-out}.app-shell .panel{animation:none}.app-shell .flash{animation:console-enter .2s ease-out}.submit-progress:before{animation:console-progress .8s linear infinite}}
@media(hover:hover) and (pointer:fine){.app-shell .metric:hover,.app-shell .panel:hover{border-color:var(--finish-edge);box-shadow:0 5px 18px var(--finish-halo)}.app-shell tr:hover td{background:color-mix(in srgb,var(--finish-focus) 7%,var(--surface))}}
@media(prefers-reduced-motion:reduce){.app-shell .btn:active{transform:none}}

.stack-form fieldset{border:1px solid var(--line);padding:20px;border-radius:12px;min-width:0}.stack-form legend,.seo-fields summary{font-weight:600}.seo-fields{border:1px solid var(--line);padding:20px;border-radius:12px}.seo-fields summary{cursor:pointer}.seo-preview{padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.seo-preview h3{color:var(--teal);overflow-wrap:anywhere}.seo-preview p{overflow-wrap:anywhere}.stack-form small{display:block;color:var(--muted);line-height:1.7;margin-top:5px}
