@import"https://fonts.googleapis.com/css2?family=Sora:wght@300;400;600;700&display=swap";:root{--bg: #1C1917;--surface: #28251F;--surface2: #211E18;--border: #3A352C;--accent: #F5A623;--text: #C8C2B2;--text2: #A8A098;--text3: #908A80;--green: #32D74B;--danger: #e05555;--like: #e8609a;--font: "Sora", system-ui, sans-serif}[data-theme=light]{--bg: #F5F0E8;--surface: #FFFFFF;--surface2: #EDE8DF;--border: #E0D8CC;--accent: #8C5A00;--text: #111111;--text2: #5C5650;--text3: #726A60}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-weight:300;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer}.app-shell{display:grid;grid-template-columns:72px 1fr;height:100vh;height:100dvh;overflow:hidden}.sidebar{position:relative;border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:28px 0 20px;gap:0}.sidebar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);border-radius:0 2px 2px 0}.sidebar-logo{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--accent);margin-bottom:36px;text-align:center}.sidebar-logo span{color:var(--text3);font-weight:300}.sidebar-nav{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.sidebar-link{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);padding:8px 6px;border-radius:6px;text-align:center;transition:color .15s,background .15s;width:48px;display:flex;flex-direction:column;align-items:center;gap:4px}.sidebar-link:hover{color:var(--text);background:var(--surface)}.sidebar-link.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.sidebar-theme{font-size:14px;color:var(--text3);background:none;border:none;margin-top:auto;padding:8px}.main-content{overflow-y:auto;height:100vh;height:100dvh}.panel-content{max-width:420px;margin:0 auto;padding:48px 24px}.panel-status{color:var(--text3);font-size:12px}.panel-empty{text-align:center}.panel-empty-msg{font-size:12px;color:var(--text3);margin-bottom:20px}.panel-generate-btn{width:100%}.panel-counter{display:flex;align-items:baseline;gap:10px;margin-bottom:24px}.panel-counter-num{font-size:22px;font-weight:600;color:var(--text2);line-height:1;letter-spacing:-.02em}.panel-counter-label{font-size:10px;font-weight:300;color:var(--text3);text-transform:uppercase;letter-spacing:.14em}.panel{background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}.section{padding:20px;border-bottom:1px solid var(--border)}.section:last-child{border-bottom:none}.section-label{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-bottom:14px}.card-deck{position:relative;margin-bottom:14px;padding-bottom:10px}.card-ghost{position:absolute;left:50%;transform:translate(-50%);border-radius:12px;border:1px solid var(--border);background:var(--surface2)}.card-ghost-1{bottom:-5px;width:calc(100% - 24px);height:calc(100% - 6px);opacity:.55;z-index:1}.card-ghost-2{bottom:-12px;width:calc(100% - 48px);height:calc(100% - 10px);opacity:.25;z-index:0}.game-card{position:relative;z-index:2;border-radius:12px;border:1px solid var(--border);background:var(--surface);overflow:hidden}.game-image{width:100%;height:210px;overflow:hidden;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);background:var(--surface2)}.game-image img{width:100%;height:100%;object-fit:cover;display:block}.game-image-placeholder{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text3)}.game-card-body{padding:20px 20px 24px}.game-card-title-row{display:flex;align-items:flex-start;gap:10px}.game-card-dismiss-btn{background:none;border:none;cursor:pointer;color:var(--text3);font-size:14px;padding:4px 0 0;line-height:1;flex-shrink:0;margin-top:2px}a.game-name{font-size:34px;font-weight:700;letter-spacing:-.04em;line-height:1.05;color:var(--text);display:block}a.game-name sup{font-size:11px;font-weight:400;vertical-align:super;margin-left:2px;opacity:.25;transition:opacity .15s}a.game-name:hover sup{opacity:1}.game-desc{font-size:11px;font-weight:300;color:var(--text3);margin-top:10px;line-height:1.55}.game-tag{display:inline-block;font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:3px;padding:2px 7px;margin-top:12px}.review-controls{display:flex;gap:10px;margin-top:20px}.btn-dislike{flex:1;background:transparent;color:var(--text3);border:1px solid var(--border);font-size:11px}.btn-like{flex:2;background:var(--like);color:var(--bg);border:none;font-size:12px;padding:12px 20px}.btn-like:disabled,.btn-dislike:disabled{opacity:.4;cursor:not-allowed}.game-controls{display:flex;align-items:center;gap:8px}.btn{border:none;border-radius:6px;font-size:11px;font-weight:600;padding:9px 14px;cursor:pointer;letter-spacing:.03em;font-family:var(--font);transition:opacity .15s;min-height:44px}.btn:disabled{opacity:.3;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--bg);flex:1}.btn-icon{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;font-size:13px;background:transparent;color:var(--text3);border:1px solid var(--border)}.btn-ghost{background:transparent;color:var(--text3);border:1px solid var(--border);font-size:13px;padding:9px 10px}.btn-sm{padding:5px 10px;font-size:10px;min-height:unset}.deck-count{font-size:10px;font-weight:300;color:var(--text3);margin-left:auto;white-space:nowrap}.progress-item{padding:12px 0;border-bottom:1px solid var(--border)}.progress-item:last-child{border-bottom:none;padding-bottom:0}.progress-item:first-child{padding-top:0}.pi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;gap:10px}.pi-left{display:flex;align-items:center;gap:10px}.pi-thumb{width:28px;height:28px;border-radius:4px;overflow:hidden;flex-shrink:0;border:1px solid var(--border);background:var(--surface2);display:flex;align-items:center;justify-content:center}.pi-thumb img{width:100%;height:100%;object-fit:cover}.pi-thumb-placeholder{font-size:7px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text3)}a.pi-name{font-size:12px;font-weight:600;color:var(--text);display:inline}a.pi-name sup{font-size:7px;font-weight:400;vertical-align:super;margin-left:1px;opacity:.2;transition:opacity .15s}a.pi-name:hover sup{opacity:.8}.pi-date{font-size:10px;font-weight:300;color:var(--text3);flex-shrink:0}.pi-note{font-size:11px;font-weight:300;line-height:1.65;color:var(--text2);margin-top:5px;padding-left:38px}.pi-note-input{width:100%;font-size:11px;font-weight:300;line-height:1.65;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-family:var(--font);margin-top:5px;margin-left:38px;width:calc(100% - 38px);resize:none;overflow:hidden}.pi-note-input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.pi-empty{font-size:11px;font-weight:300;color:var(--text3);margin-top:5px;padding-left:38px;font-style:italic}.pi-note-md p{margin:0 0 .4em;font-size:11px;font-weight:300;line-height:1.65;color:var(--text2)}@keyframes pi-saved-fade{0%{outline-color:var(--green)}to{outline-color:transparent}}.pi-note-saved{border-radius:4px;outline:1px solid transparent;animation:pi-saved-fade 1.2s ease-out forwards}.pi-note-md p:last-child{margin-bottom:0}.pi-note-md code{font-size:10px;background:var(--surface);border-radius:3px;padding:1px 3px}.pi-note-md strong{font-weight:500}.library-toggle{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);background:none;border:none;width:100%;text-align:left;padding:16px 20px;cursor:pointer;display:flex;align-items:center;gap:6px}.library-form{display:flex;flex-direction:column;gap:8px;padding:0 20px 20px}.library-input{font-size:12px;font-weight:300;font-family:var(--font);background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text)}.library-input:focus{outline:none;border-color:var(--accent)}.library-input::placeholder{color:var(--text3)}.library-textarea{resize:vertical}.library-actions{display:flex;gap:8px;margin-top:4px}.suggest-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.suggest-item{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.suggest-item-info{flex:1}.suggest-item-name{font-size:12px;font-weight:600;color:var(--text);margin-bottom:2px}.suggest-item-desc{font-size:11px;font-weight:300;color:var(--text2)}.suggest-item-actions{display:flex;gap:6px;flex-shrink:0}.library-game-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border)}.library-game-name{font-size:12px;font-weight:600;color:var(--text)}.cal-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.chip{font-size:10px;font-weight:600;letter-spacing:.04em;border-radius:20px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);cursor:pointer;transition:opacity .15s}.chip.off{opacity:.4}.cal-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:14px}.cal-month{font-size:13px;font-weight:600;color:var(--text);text-align:center}.cal-nav-btn{background:none;border:1px solid var(--border);border-radius:5px;height:40px;cursor:pointer;font-family:var(--font);color:var(--text3)}.cal-nav-btn:hover{border-color:var(--text3);color:var(--text)}.cal-today{padding:0 10px;font-size:12px;justify-self:start}.cal-arrows{display:flex;gap:6px;justify-self:end}.cal-arrow{width:32px;font-size:11px;display:flex;align-items:center;justify-content:center}.cal-grid{width:100%;border-collapse:collapse}.cal-grid th{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-align:center;color:var(--text3);padding-bottom:10px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border)}.cal-grid td{text-align:center;padding:2px;vertical-align:top}.cal-day{display:flex;flex-direction:column;align-items:center;min-height:36px;border-radius:6px;padding:4px 2px;gap:4px}.cal-day[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal-day.today{background:color-mix(in srgb,var(--accent) 10%,var(--surface));outline:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.cal-day.other-month{opacity:.2}.cal-day-num{font-size:11px;font-weight:400;color:var(--text3);line-height:1}.cal-day.today .cal-day-num{color:var(--accent);font-weight:700}.cal-day.selected{background:color-mix(in srgb,var(--accent) 15%,transparent);outline:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.cal-day.selected .cal-day-num{color:var(--accent);font-weight:600}.cal-dots{display:flex;gap:3px;justify-content:center;flex-wrap:wrap}.cal-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.cal-dot.faded{opacity:.35;background:var(--text3)}.cal-col .section-label{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;letter-spacing:.08em;color:var(--text2);margin-bottom:28px}.cal-three-col{display:grid;grid-template-columns:300px 300px 1fr;height:100vh;height:100dvh}.cal-col{padding:28px 20px;overflow-y:auto;height:100vh;height:100dvh;display:flex;flex-direction:column;position:relative}.cal-col:not(:last-child):after{content:"";position:absolute;top:24px;bottom:24px;right:0;width:1px;background:var(--border)}.cal-col:last-child{display:flex;flex-direction:column;overflow-y:hidden}.date-entry{display:flex;align-items:baseline;justify-content:space-between;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .1s;margin-bottom:2px}.date-entry:hover{background:var(--surface)}.date-entry.selected{background:color-mix(in srgb,var(--accent) 10%,transparent)}.date-entry-label{font-size:11px;font-weight:400;color:var(--text2);font-variant-numeric:tabular-nums;letter-spacing:.02em}.date-entry.selected .date-entry-label{color:var(--accent);font-weight:600}.date-entry-count{font-size:9px;color:var(--text3)}.cal-col-empty{font-size:11px;color:var(--text3);font-style:italic}.cal-game-title-btn{display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-size:13px;font-weight:400;color:var(--text2);padding:9px 10px;border-radius:6px;font-family:var(--font);line-height:1.4;transition:color .1s,background .1s;margin-bottom:2px}.cal-game-title-btn:hover{color:var(--text);background:var(--surface)}.cal-game-title-btn.active{color:var(--accent);font-weight:600;background:color-mix(in srgb,var(--accent) 10%,transparent)}.cal-game-form{display:flex;flex-direction:column}.cal-form-fields{margin:0}.cal-form-row{display:grid;grid-template-columns:60px 1fr;gap:4px;padding:10px 0;border-bottom:1px solid var(--border);align-items:baseline}.cal-form-row:last-child{border-bottom:none}.cal-form-row dt{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);line-height:1.5}.cal-form-row dd{margin:0;font-size:13px;color:var(--text);line-height:1.5}.cal-form-row dd a{color:var(--accent)}.cal-status{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:capitalize}.cal-status-liked{color:var(--green)}.cal-status-disliked{color:var(--danger)}.cal-status-pending{color:var(--text2)}.cal-notes-col{display:flex;flex-direction:column;flex:1;overflow-y:auto}.cal-notes-preview{flex:1;min-height:160px;padding:6px 8px;cursor:text;font-size:13px;font-weight:300;line-height:1.8;color:var(--text);box-sizing:border-box;overflow-y:auto}.cal-notes-preview-empty{color:var(--text3)}.cal-notes-preview p{margin:0 0 .5em}.cal-notes-preview p:last-child{margin-bottom:0}.cal-notes-preview ul,.cal-notes-preview ol{margin:0 0 .5em;padding-left:1.4em}.cal-notes-preview h1,.cal-notes-preview h2,.cal-notes-preview h3{font-size:13px;font-weight:600;margin:0 0 .25em}.cal-notes-textarea{width:100%;flex:1;min-height:160px;resize:vertical;background:transparent;border:none;outline:none;box-sizing:border-box;padding:6px 8px;font-size:13px;font-weight:300;line-height:1.8;color:var(--text);font-family:var(--font);caret-color:var(--accent)}.cal-notes-textarea::placeholder{color:var(--text3)}.cal-detail-image{display:block;width:100%;margin-bottom:16px;height:180px;object-fit:cover;border-radius:10px}.cal-col-actions{margin-top:auto;padding-top:20px;display:flex;align-items:center;gap:8px}.cal-notes-actions{margin-top:auto;padding-top:16px;display:flex;gap:8px;justify-content:center}.cal-notes-actions .btn{font-size:11px;padding:6px 10px;display:flex;align-items:center;justify-content:center;gap:5px;flex:1;max-width:111px}.cal-notes-clear-btn{border-style:dashed}.cal-notes-clear-btn:hover{color:var(--danger);border-color:var(--danger)}.cal-notes-save-btn:hover{color:var(--accent);border-color:var(--accent)}.cal-notes-save-btn.saved{color:var(--green);border-color:var(--green);transition:color .15s,border-color .15s}.cal-edit-btn{flex:6;font-size:11px;padding:6px 10px;color:var(--text3);border:1px solid var(--border);border-radius:6px;display:flex;align-items:center;justify-content:center;gap:5px}.cal-edit-btn:hover{color:var(--green);border-color:var(--green)}.cal-delete-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:6px 10px;color:var(--text3);border:1px dashed var(--border);border-radius:6px}.cal-delete-btn:hover{color:var(--danger);border-color:var(--danger)}.cal-col-add-btn{font-size:11px;padding:6px 10px;color:var(--text3);border:1px dashed var(--border);border-radius:6px;width:100%}.cal-col-add-btn:hover{color:var(--text);border-color:var(--text3)}.cal-field-input{font-size:12px;font-weight:300;font-family:var(--font);background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);width:100%;padding:1px 0}.cal-field-input:focus{outline:none;border-bottom-color:var(--accent)}.cal-field-input::placeholder{color:var(--text3)}.cal-form-actions{display:flex;gap:8px;margin-top:12px}@media (max-width: 800px){.cal-three-col{grid-template-columns:1fr;height:auto}.cal-col{height:auto;min-height:0;border-right:none;border-bottom:1px solid var(--border)}.cal-col:not(:last-child):after{display:none}.cal-col:last-child{border-bottom:none}.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;padding:12px 16px;height:auto;border-right:none;border-bottom:1px solid var(--border)}.sidebar:before{display:none}.sidebar-logo{margin-bottom:0;margin-right:16px}.sidebar-nav{flex-direction:row;gap:8px}.sidebar-nav .sidebar-link{min-height:44px}.sidebar-theme{margin-top:0;margin-left:auto}}
