:root{--ink:#211c33;--muted:#6f6a7f;--paper:#fbf8f2;--violet:#5d4ab3;--violet-dark:#32256f;--gold:#e8b24b;--line:#ded8ea;--green:#2f956a;--shadow:0 24px 70px rgba(32,24,69,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 8% 15%,rgba(232,178,75,.16),transparent 31%),radial-gradient(circle at 92% 10%,rgba(93,74,179,.16),transparent 31%),#f4f0e9;font-family:Georgia,"Noto Serif TC","Times New Roman",serif;min-height:100vh}.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;background:#fff;color:#111;padding:12px 18px;border-radius:12px}.skip-link:focus{top:16px}.header-button{border:1px solid rgba(33,28,51,.16);background:#fff;color:var(--ink);border-radius:999px;padding:10px 18px;font:700 14px inherit;cursor:pointer}.connection-pill,.user-pill{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid rgba(33,28,51,.12);font:700 13px/1.2 system-ui,sans-serif}.connection-pill[data-state=online]{color:#116846;background:#ecfbf4}.connection-pill[data-state=error]{color:#a03535;background:#fff1f1}
.login-shell{min-height:calc(100vh - 86px);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:clamp(40px,7vw,110px);align-items:center;max-width:1500px;margin:auto;padding:clamp(48px,8vw,110px)}.login-story h1{font-size:clamp(58px,7vw,112px);line-height:.92;letter-spacing:-.06em;margin:22px 0}.login-story h1 em{color:var(--violet);font-style:normal}.login-story>p{max-width:650px;font:500 clamp(17px,1.5vw,23px)/1.7 system-ui,sans-serif;color:var(--muted)}.eyebrow{font:800 12px/1.2 system-ui,sans-serif;letter-spacing:.22em;color:var(--violet);text-transform:uppercase}.story-points{margin-top:45px;border-top:1px solid rgba(33,28,51,.14);display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:25px;font:800 14px/1.5 system-ui,sans-serif}.login-card{background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow);border-radius:34px;padding:clamp(30px,4vw,56px);backdrop-filter:blur(18px)}.login-card h2{font-size:clamp(30px,3vw,44px);margin:16px 0 28px}.role-tabs{display:grid;grid-template-columns:1fr 1fr;background:#ece8e1;border-radius:16px;padding:5px;margin-bottom:28px}.role-tabs button{border:0;background:transparent;border-radius:12px;padding:13px;font:800 15px system-ui,sans-serif;color:var(--muted);cursor:pointer}.role-tabs button[aria-selected=true]{background:#fff;color:var(--violet);box-shadow:0 4px 14px rgba(35,28,64,.08)}.login-card label{display:block;margin:18px 0;font:800 14px/1.3 system-ui,sans-serif}.login-card label span{display:block;margin-bottom:8px}.login-card input{width:100%;border:1px solid #d8d1e2;background:#fff;border-radius:14px;padding:15px 16px;font:600 16px system-ui,sans-serif;color:var(--ink);outline:none}.login-card input:focus{border-color:var(--violet);box-shadow:0 0 0 4px rgba(93,74,179,.12)}.primary-button{width:100%;border:0;border-radius:16px;background:linear-gradient(135deg,var(--violet-dark),var(--violet));color:#fff;padding:17px 20px;font:800 16px system-ui,sans-serif;cursor:pointer;box-shadow:0 12px 28px rgba(68,50,145,.23)}.primary-button:disabled{opacity:.6;cursor:wait}.form-error{color:#a62f46;background:#fff0f3;padding:11px 13px;border-radius:11px;font:700 13px/1.5 system-ui,sans-serif}.privacy-note{color:var(--muted);font:500 12px/1.6 system-ui,sans-serif;margin:15px 0 0}
.app-shell{max-width:1520px;margin:auto;padding:clamp(30px,4vw,64px)}.hero-panel{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;background:linear-gradient(132deg,#211938 0%,#403178 57%,#6b55bf 100%);color:#fff;border-radius:34px;padding:clamp(32px,5vw,66px);box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-panel:after{content:"57";position:absolute;right:4%;top:-36%;font-size:280px;font-weight:900;color:rgba(255,255,255,.055);pointer-events:none}.hero-panel h1{font-size:clamp(44px,6vw,82px);line-height:1;margin:16px 0}.hero-panel p{margin:0;color:rgba(255,255,255,.75);font:600 clamp(15px,1.3vw,19px)/1.6 system-ui,sans-serif}.overall-progress{width:160px;aspect-ratio:1;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border-radius:50%;display:grid;place-content:center;text-align:center;flex:0 0 auto;z-index:1}.overall-progress strong{font-size:38px}.overall-progress span{font:700 12px system-ui,sans-serif;color:rgba(255,255,255,.7)}.table-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.table-selector button{position:relative;text-align:left;border:1px solid rgba(51,39,100,.12);background:rgba(255,255,255,.78);border-radius:19px;padding:18px 18px 17px;color:var(--ink);cursor:pointer;min-height:100px;box-shadow:0 7px 18px rgba(34,27,68,.06);transition:.2s ease}.table-selector button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(34,27,68,.11)}.table-selector button[aria-current=true]{background:var(--ink);color:#fff;border-color:transparent}.table-selector small{display:block;font:800 11px system-ui,sans-serif;letter-spacing:.12em;color:var(--violet);margin-bottom:10px}.table-selector button[aria-current=true] small{color:#d7ccff}.table-selector strong{font-size:17px;line-height:1.35}.table-selector i{position:absolute;right:13px;bottom:12px;font:800 11px system-ui,sans-serif;color:var(--green);font-style:normal}.workspace-card{background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.96);box-shadow:var(--shadow);border-radius:34px;padding:clamp(24px,4vw,54px)}.workspace-heading{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:25px}.workspace-heading>div{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center}.tool-number{grid-row:1/3;display:grid;place-content:center;width:62px;height:62px;border-radius:18px;background:#f0ecfb;color:var(--violet);font-size:24px;font-weight:800}.workspace-heading h2{margin:0;font-size:clamp(28px,3vw,42px)}.workspace-heading p{margin:5px 0 0;color:var(--muted);font:500 14px/1.5 system-ui,sans-serif}.reset-button{border:1px solid #d9d0ee;color:var(--violet-dark);background:#f7f3ff;border-radius:999px;padding:11px 17px;font:800 13px system-ui,sans-serif;cursor:pointer}.progress-block{padding:25px 0 8px}.progress-copy{display:flex;justify-content:space-between;font:800 13px system-ui,sans-serif;margin-bottom:9px}.progress-track{height:10px;background:#ebe7f0;border-radius:999px;overflow:hidden}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--violet));transition:width .35s ease}.checklist-section{margin-top:27px}.checklist-section h3{font-size:20px;margin:0 0 12px;display:flex;align-items:center;gap:10px}.checklist-section h3:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(232,178,75,.15)}.step-list{display:grid;gap:10px}.step-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:flex-start;padding:17px 18px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:.22s ease}.step-row[data-state=locked]{display:none}.step-row[data-state=next]{border-color:rgba(93,74,179,.42);box-shadow:0 8px 22px rgba(75,55,151,.09);background:linear-gradient(90deg,#fff 0%,#faf8ff 100%)}.step-row[data-state=done]{background:#f3fbf7;border-color:#c7e6d7}.step-toggle{width:42px;height:42px;border:2px solid #c9c1dc;background:#fff;border-radius:50%;display:grid;place-content:center;color:transparent;font:900 20px system-ui,sans-serif;cursor:pointer}.step-row[data-state=next] .step-toggle{border-color:var(--violet);box-shadow:0 0 0 5px rgba(93,74,179,.1)}.step-row[data-state=done] .step-toggle{border-color:var(--green);background:var(--green);color:#fff}.step-copy small{display:block;font:800 10px system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--violet);margin:3px 0 6px}.step-copy p{margin:0;font:650 16px/1.65 system-ui,sans-serif}.step-row[data-state=done] .step-copy p{text-decoration:line-through;text-decoration-thickness:1px;color:#547064}.step-note{width:100%;min-height:82px;margin-top:12px;border:1px solid #ddd5e9;border-radius:13px;padding:12px 14px;resize:vertical;font:500 15px/1.5 system-ui,sans-serif;color:var(--ink);background:#fff}.step-note:focus{outline:3px solid rgba(93,74,179,.12);border-color:var(--violet)}.completion-card{margin-top:25px;border-radius:22px;padding:22px;background:linear-gradient(135deg,#e8f8ef,#f8f3de);display:flex;gap:16px;align-items:center}.completion-card>span{display:grid;place-content:center;width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;font:900 24px system-ui,sans-serif}.completion-card strong{font-size:20px}.completion-card p{margin:4px 0 0;font:500 14px system-ui,sans-serif;color:var(--muted)}.dialog-backdrop{position:fixed;inset:0;z-index:1200;background:rgba(26,20,47,.55);display:grid;place-content:center;padding:20px;backdrop-filter:blur(8px)}.dialog-backdrop[hidden]{display:none}.confirm-dialog{max-width:460px;background:#fff;border-radius:26px;padding:34px;box-shadow:var(--shadow);text-align:center}.dialog-mark{margin:auto;display:grid;place-content:center;width:58px;height:58px;border-radius:50%;background:#f4ecff;color:var(--violet);font-size:30px}.confirm-dialog h2{font-size:28px}.confirm-dialog p{color:var(--muted);font:500 15px/1.6 system-ui,sans-serif}.confirm-dialog>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.confirm-dialog button{border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px;font:800 14px system-ui,sans-serif;cursor:pointer}.confirm-dialog [data-confirm-reset]{background:#8e3553;color:#fff;border-color:#8e3553}
[hidden]{display:none!important}@media(max-width:900px){.login-shell{grid-template-columns:1fr;padding:36px 20px}.login-story{display:none}.table-selector{grid-template-columns:repeat(2,1fr)}.hero-panel{align-items:center}.overall-progress{width:125px}.workspace-heading{flex-direction:column}.reset-button{align-self:flex-end}}@media(max-width:560px){.app-shell{padding:18px 12px}.hero-panel{border-radius:24px;padding:28px 22px;align-items:flex-start}.hero-panel h1{font-size:43px}.overall-progress{width:92px}.overall-progress strong{font-size:27px}.overall-progress span{font-size:9px}.table-selector{gap:8px}.table-selector button{min-height:88px;padding:14px}.workspace-card{border-radius:24px;padding:20px 15px}.workspace-heading>div{grid-template-columns:auto 1fr}.tool-number{width:50px;height:50px;border-radius:15px}.workspace-heading h2{font-size:26px}.step-row{grid-template-columns:42px 1fr;padding:15px 13px;gap:10px}.step-toggle{width:38px;height:38px}.step-copy p{font-size:15px}.story-points{grid-template-columns:1fr}}

.hero-actions{display:flex;align-items:center;gap:14px;z-index:1}.planner-link{display:grid;grid-template-columns:auto 1fr;column-gap:11px;align-items:center;min-width:190px;padding:15px 18px;border:1px solid rgba(255,255,255,.24);border-radius:19px;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;backdrop-filter:blur(10px);transition:.2s ease}.planner-link:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}.planner-link>span{grid-row:1/3;font-size:25px}.planner-link strong{font:800 16px system-ui,sans-serif}.planner-link small{font:650 11px system-ui,sans-serif;color:rgba(255,255,255,.68)}.interaction-hint{margin:12px 0 0;color:var(--muted);font:650 12px/1.5 system-ui,sans-serif}.interaction-hint kbd{display:inline-block;border:1px solid #d8d1e2;border-bottom-width:3px;background:#fff;border-radius:7px;padding:2px 7px;color:var(--violet-dark);font:800 11px system-ui,sans-serif}.achievement-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px dashed #e2dceb}.achievement-button,.achievement-minus{border:1px solid #ded6eb;background:#fff;color:var(--violet-dark);border-radius:999px;padding:8px 12px;font:800 12px system-ui,sans-serif;cursor:pointer}.achievement-button{background:linear-gradient(135deg,#fff7dd,#fff);border-color:#e7cc87}.achievement-minus{padding-inline:11px}.achievement-button:disabled,.achievement-minus:disabled{opacity:.48;cursor:not-allowed}.achievement-count{min-width:68px;color:var(--muted);font:750 12px system-ui,sans-serif}.achievement-count strong{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}.step-row[data-state=done] .achievement-control{text-decoration:none}.step-row[data-state=done] .achievement-control *{text-decoration:none}.step-row[data-state=done] .achievement-button{background:#fff}.achievement-error{color:#a03535;font:700 11px system-ui,sans-serif}
@media(max-width:900px){.hero-actions{flex-direction:column-reverse;align-items:flex-end}.planner-link{min-width:0}.hero-panel{align-items:flex-start}}@media(max-width:560px){.hero-panel{flex-direction:column}.hero-actions{width:100%;flex-direction:row;align-items:center;justify-content:space-between}.planner-link{padding:11px 13px}.planner-link small{display:none}.achievement-control{gap:6px}.achievement-button{padding:8px 10px}}

.hero-actions{justify-content:flex-end;flex-wrap:wrap;max-width:720px}.hero-actions .overall-progress{order:4}
@media(max-width:900px){.hero-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(100%,520px);max-width:none}.hero-actions .overall-progress{grid-column:2;justify-self:end}}
@media(max-width:560px){.hero-actions{grid-template-columns:1fr;width:100%}.hero-actions .overall-progress{grid-column:1;justify-self:start}.planner-link{width:100%}}
