:root{color-scheme:dark;--paper:#121619;--surface:#1a2025;--raised:#222b32;--ink:#eef1f3;--muted:#a2adb5;--line:#303940;--accent:#b6cdd9;--green:#a8ccb6;--blue:#b6cdd9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.5}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button,a,input,select,summary:focus-visible{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}a{color:inherit;text-underline-offset:4px}button{color:inherit}button:hover,a:hover{filter:brightness(1.1)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}header{border-bottom:1px solid var(--line)}.header-inner{max-width:1192px;margin:auto;min-height:88px;padding:20px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:24px;font-weight:700;letter-spacing:-.8px;text-decoration:none}.brand span{color:var(--accent)}.year-picker{display:flex;align-items:center;gap:16px;font-size:14px;color:var(--muted)}select{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:10px 32px 10px 12px;min-height:44px;max-width:100%}
.shell{max-width:1192px;margin:auto;padding:36px}.workspace{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;align-items:start}.sidebar{min-width:0}.content{min-width:0}.view-switch{display:flex;border-bottom:1px solid var(--line);gap:20px;margin-bottom:18px}.view-switch button{padding:10px 0 12px;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:14px;color:var(--muted);font-weight:600;min-height:44px}.view-switch button.selected{border-bottom-color:var(--accent);color:var(--ink)}.activity-items{display:grid;gap:3px}.activity-btn{border:0;border-radius:5px;background:none;padding:11px 10px;display:flex;gap:12px;text-align:left;align-items:baseline;min-height:44px;line-height:1.4;width:100%;color:var(--muted)}.activity-btn:hover{background:var(--surface)}.activity-btn.active{background:var(--raised);color:var(--ink)}.nav-num{font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted);min-width:19px}.nav-title{font-size:14px;font-weight:500}.mobile-activity{display:none}.activity-heading{scroll-margin-top:24px}.category{font-size:12px;letter-spacing:.07em;color:var(--muted);font-weight:600;text-transform:uppercase;margin-bottom:10px}h1{font-size:clamp(26px,3vw,36px);font-weight:650;line-height:1.2;letter-spacing:-1.1px;margin-bottom:12px}.activity-heading>p:last-child{color:var(--muted);font-size:16px;max-width:650px}.activity-budget{display:flex;gap:44px;align-items:start;padding:24px 0}.activity-budget .label{font-size:14px;color:var(--muted);display:block;margin-bottom:2px}.activity-budget strong{font-size:26px;font-weight:600;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.activity-budget .additional strong{color:var(--accent)}.activity-budget small{font-size:13px;color:var(--muted);display:block;margin-top:2px}.book-preview{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;color:var(--muted);font-size:14px}.book-preview summary{color:var(--ink);font-weight:500;min-height:28px;align-content:center}.book-preview summary>span{color:var(--muted);font-size:13px;margin-left:8px}.book-pages{display:flex;gap:12px;overflow:auto;margin:16px 0;padding-bottom:4px}.book-page{padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:5px;min-width:110px;width:110px;flex-shrink:0;text-align:left}.book-page img{width:100%;height:124px;object-fit:contain;display:block}.book-page>span{font-size:12px;display:block;color:var(--muted);margin-top:6px}.book-credit{font-size:12px;line-height:1.7}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0 12px}.section-top h2{font-size:16px;font-weight:600}.section-top h2 span{color:var(--muted);font-size:14px;font-weight:400;margin-left:6px}.section-top>span{font-size:13px;color:var(--muted)}.material{display:grid;grid-template-columns:24px 64px minmax(0,1fr) auto;gap:16px;align-items:start;padding:22px 0;border-top:1px solid var(--line)}.check{display:flex;align-items:center;justify-content:center;min-width:24px;min-height:44px;margin-top:-6px}.check input{margin:0;width:20px;height:20px;accent-color:var(--accent);cursor:pointer}.material-photo{width:64px;padding:0;border:0;border-radius:5px;overflow:hidden;background:var(--surface)}.material-photo .book-crop{max-height:86px}.material-photo:hover{outline:1px solid var(--accent)}.book-crop{position:relative;display:block;overflow:hidden;width:100%}.book-crop img{position:absolute;display:block;max-width:none;height:auto}.material-info{min-width:0}.material-name{font-size:16px;line-height:1.4;font-weight:600}.material-name a{text-decoration:none}.material-name a:hover{text-decoration:underline}.spec{font-size:14px;color:var(--muted);line-height:1.6;margin-top:5px}.qty{font-size:14px;margin-top:5px}.material-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-end;min-width:116px}.price{font-size:16px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.price-label{display:block;font-size:12px;font-weight:400;color:var(--muted);text-align:right}.buy{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:40px;padding:8px 10px;text-decoration:none;border:1px solid #52616a;border-radius:5px;background:#26333b;color:#e2edf3;font-size:14px;font-weight:500;white-space:nowrap}.buy:hover{background:#35464f}.owned .material-name{color:var(--muted)}.owned .check input{opacity:.85}.home-label{font-size:13px;color:var(--muted)}.product-note,.shared{font-size:13px;color:var(--muted);margin-top:8px}.product-note summary,.shared summary{font-weight:400;min-height:28px;align-content:center}.shared summary{color:var(--green)}.shared p,.product-note p{margin:6px 0;font-size:13px}.shared-note{font-size:13px;color:var(--green);margin-top:8px}.timing-note{font-size:13px;color:var(--green);border-left:2px solid #638674;padding-left:10px;margin-top:10px}.tip{border-block:1px solid var(--line);padding:16px 0;font-size:14px;margin-top:4px}.tip summary{font-weight:500}.tip p{color:var(--muted);margin-top:10px;line-height:1.7}.rail{margin-top:26px;border-top:1px solid var(--line);padding-top:24px}.budget-card{padding:18px;background:#1e282f;border:1px solid #35424b;border-radius:7px}.budget-label{font-size:14px;color:#becbd3}.budget-amount{font-size:32px;line-height:1.3;letter-spacing:-1px;font-weight:600;margin:5px 0;font-variant-numeric:tabular-nums}.budget-range,.progress-note{font-size:12px;color:#b3c0c8}.progress-track{height:4px;background:#38464f;border-radius:2px;overflow:hidden;margin:20px 0 7px}.progress-fill{height:100%;background:#b6cdd9;transition:width .2s}.budget-details{font-size:13px;color:var(--muted);margin-top:14px}.budget-details summary{min-height:30px;align-content:center}.budget-line{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.budget-line strong{font-weight:500;color:var(--ink);white-space:nowrap}.budget-details p{margin-top:10px}.budget-action{display:block;width:100%;padding:10px;min-height:44px;border:1px solid #52616a;border-radius:5px;background:#2d3c45;font-size:14px;font-weight:500;margin-top:16px}.storage-note{font-size:12px;color:var(--muted);margin:12px 0 0}.reset{font-size:13px;min-height:36px;border:0;padding:8px 0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.below{margin-top:30px}.below details{font-size:14px;border-bottom:1px solid var(--line);padding:15px 0;color:var(--muted)}.below summary{color:var(--ink);font-weight:500}.below p{margin-top:12px;line-height:1.7}.below a{display:inline-block;margin-top:10px}.summary-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:14px}.summary-table th,.summary-table td{padding:10px 0;text-align:left;border-bottom:1px solid var(--line)}.summary-table th:last-child,.summary-table td:last-child{text-align:right;white-space:nowrap;padding-left:14px}.footer{border-top:1px solid var(--line);margin-top:48px;padding-top:20px;font-size:12px;color:var(--muted)}.footer p+p{margin-top:4px}.mobile-budget{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:900px){.activity-items{max-height:440px;overflow:auto;scrollbar-width:thin}}
@media(max-width:1000px){.workspace{grid-template-columns:205px minmax(0,1fr);gap:32px}.shell,.header-inner{padding-left:26px;padding-right:26px}.material{grid-template-columns:24px 54px minmax(0,1fr);gap:12px}.material-photo{width:54px}.material-actions{grid-column:3;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.price-label{text-align:left}.material-actions .home-label{margin-right:auto}}
@media(max-width:720px){.header-inner{min-height:76px;padding:16px 20px}.brand{font-size:22px}.year-picker>span{display:none}.year-picker select{font-size:14px}.shell{padding:16px 20px 110px}.workspace{display:flex;flex-direction:column;gap:26px}.sidebar,.content{width:100%}.view-switch{margin-bottom:14px;gap:24px}.mobile-activity{display:block}.mobile-activity select{width:100%;font-size:14px;min-width:0}.activity-items,.rail{display:none}.activity-heading{scroll-margin-top:16px}.category{font-size:12px;margin-bottom:8px}h1{font-size:28px}.activity-heading>p:last-child{font-size:15px}.activity-budget{gap:40px;padding:22px 0}.activity-budget strong{font-size:25px}.material{grid-template-columns:24px 52px minmax(0,1fr);gap:12px;padding:20px 0}.material-photo{width:52px}.material-name{font-size:16px}.material-actions{grid-column:3}.buy{min-height:44px;font-size:14px;padding:8px}.section-top{padding-top:24px}.mobile-budget{display:flex;position:fixed;z-index:5;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;gap:12px;background:#1b2329;border-top:1px solid #3a4851;padding:12px 20px calc(12px + env(safe-area-inset-bottom))}.mobile-budget span{font-size:12px;color:var(--muted);display:block}.mobile-budget strong{font-size:21px;font-weight:600;letter-spacing:-.5px}.mobile-budget button{background:#34454f;border:1px solid #536873;border-radius:5px;padding:10px 14px;min-height:44px;font-size:14px}.footer{margin-top:32px}}
@media(max-width:380px){.shell{padding-left:16px;padding-right:16px}.material{gap:10px;grid-template-columns:22px 42px minmax(0,1fr)}.material-photo{width:42px}.material-actions{grid-column:2 / -1}.activity-budget{gap:32px}.header-inner{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.book-dialog{padding:0;border:1px solid #53617b;border-radius:14px;background:#151c2b;color:var(--ink);width:min(960px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);overflow:hidden;box-shadow:0 20px 90px #0009}
.book-dialog[open]{display:flex;flex-direction:column}
.book-dialog::backdrop{background:#060a14dc}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.viewer-toolbar h2{font-size:17px;line-height:1.3;margin:0}
.book-dialog button{border:1px solid #50607b;border-radius:7px;background:#29364d;color:var(--ink);padding:8px 12px;min-height:40px;font-size:13px;white-space:nowrap}
.book-dialog button:hover:enabled{background:#37496c}
.book-dialog button:disabled{opacity:.35;cursor:default}
.book-dialog button[hidden]{display:none}
.viewer-controls{display:flex;align-items:center;gap:10px;padding:10px 18px;background:#1e283b}
.viewer-counter{font-size:13px;color:#bfcbe0}
.viewer-controls [data-zoom]{margin-left:auto}
.viewer-scroll{overflow:auto;min-height:0;padding:18px;overscroll-behavior:contain;flex:1}
.viewer-page{display:block;width:100%;max-width:690px;height:auto;margin:auto}
.viewer-scroll.is-zoomed .viewer-page{width:1350px;max-width:none;margin:0}
.material-enlarged{width:min(360px,100%);margin:22px auto}
.material-enlarged .book-crop{width:100%;margin:auto}
.viewer-bottom{padding:12px 18px;border-top:1px solid var(--line);display:flex;align-items:center;gap:18px}
.viewer-bottom p{font-size:12px;line-height:1.5;color:var(--muted);margin:0}
body:has(.book-dialog[open]) .mobile-budget{visibility:hidden}
.book-dialog{background:var(--paper);border-color:var(--line);border-radius:8px}.book-dialog button{background:var(--raised);border-color:#52616a;min-height:44px;font-size:14px}.viewer-controls{background:var(--surface)}.viewer-counter,.viewer-bottom p{color:var(--muted)}.viewer-bottom p{font-size:13px}.viewer-scroll.is-zoomed .viewer-page{width:1350px}
@media(max-width:720px){.book-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.viewer-toolbar{padding:12px}.viewer-toolbar h2{font-size:16px}.viewer-controls{gap:6px;padding:9px 12px}.viewer-scroll{padding:10px}.viewer-bottom{display:block;padding:12px}.viewer-bottom button{margin-top:10px}.viewer-counter{font-size:12px}.book-dialog button{padding:8px 10px}.viewer-controls [data-zoom]{font-size:12px}}
@media print{:root{color-scheme:light;--paper:#fff;--surface:#fff;--ink:#172442;--muted:#526079;--line:#ccc;--accent:#172442}.sidebar,.buy,.mobile-budget,.footer,header{display:none}.workspace{display:block}.shell{padding:0}.material{break-inside:avoid;grid-template-columns:24px 64px 1fr auto}.material-actions{grid-column:auto}.book-dialog{display:none}.check input{appearance:none;border:1px solid #000}.owned .check input:after{content:'✓'}}

.mobile-checklist{display:none}@media(max-width:720px){.mobile-checklist{display:block;font-size:14px;color:var(--muted);margin-top:18px;padding:12px 0;border-block:1px solid var(--line)}.mobile-checklist summary{color:var(--ink)}.mobile-checklist p{margin-top:10px}}
