:root{--bg:#f6f3ec;--surface:#fffdf8;--surface-2:#efeae0;--line:#e6e0d3;--line-strong:#d3cab8;--text:#23303f;--text-2:#3b4756;--muted:#626b78;--placeholder:#8a8f98;--primary:#23303f;--primary-hover:#34465c;--on-primary:#f6f3ec;--link:#3e5c8a;--plus:#2f7d5b;--minus:#b4492f;--on-plus:#fff;--danger-bg:#f6e1dd;--danger-text:#9c3f3c;--paper:#fffdf8;--ink:#23303f;--ink-2:#5a6472;--bar-track:#23303f14;--on-gem:#fffdf8;--heart:#c4693d;--font-ui:"DM Sans", system-ui, sans-serif;--font-title:"Fraunces", Georgia, serif;--font-hand:"Caveat", "Segoe Print", cursive;--hand-style:normal;--hand-scale:1.35;--font-mono:"JetBrains Mono", ui-monospace, monospace;--radius:14px;--radius-lg:18px;--tabbar-h:68px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#1e1a22;--surface:#2a2430;--surface-2:#241f29;--line:#3a3140;--line-strong:#4a4052;--text:#efe6ea;--text-2:#d9cdd3;--muted:#b3a8b8;--placeholder:#8c8192;--primary:#e29aa8;--primary-hover:#eab0bb;--on-primary:#2a1820;--link:#e8a9b5;--plus:#8fd3b6;--minus:#f0a094;--on-plus:#12261d;--danger-bg:#3e2730;--danger-text:#f3b8b0;--paper:#2e2733;--ink:#f1e7ec;--ink-2:#c9b9c1;--bar-track:#ffffff14;--on-gem:#1e1a22;--heart:#e29aa8;--font-hand:"Fraunces", Georgia, serif;--hand-style:italic;--hand-scale:1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-gem=ruby]{--gem:#a8262f;--gem-text:#8e1f27;--gem-tint:#f6dedd;--metal:#b8902f}[data-gem=emerald]{--gem:#1f7a4a;--gem-text:#1a5e3a;--gem-tint:#dcefe3;--metal:#8f99a3}[data-gem=sapphire]{--gem:#2b4fa0;--gem-text:#223f80;--gem-tint:#e0e7f4;--metal:#a0693a}[data-gem=amber]{--gem:#d9a400;--gem-text:#7a5c00;--gem-tint:#fbefc4;--metal:#2f2f2f;--on-gem:#2b2416}[data-gem=violet]{--gem:#6e4fa3;--gem-text:#5b3f8c;--gem-tint:#ebe4f5;--metal:#8f99a3}[data-theme=dark] [data-gem=ruby],[data-theme=dark][data-gem=ruby]{--gem:#e5505f;--gem-text:#f08793;--gem-tint:#3e2730;--metal:#d4af5a}[data-theme=dark] [data-gem=emerald],[data-theme=dark][data-gem=emerald]{--gem:#3fbf7a;--gem-text:#7fd8a6;--gem-tint:#22392c;--metal:#c3cad1}[data-theme=dark] [data-gem=sapphire],[data-theme=dark][data-gem=sapphire]{--gem:#5f8ff0;--gem-text:#93b2f6;--gem-tint:#262f4a;--metal:#c98b55}[data-theme=dark] [data-gem=amber],[data-theme=dark][data-gem=amber]{--gem:#f2c230;--gem-text:#f5d36b;--gem-tint:#3d3420;--metal:#8a8a8a;--on-gem:#1e1a22}[data-theme=dark] [data-gem=violet],[data-theme=dark][data-gem=violet]{--gem:#c4a3ec;--gem-text:#d3baf3;--gem-tint:#35294a;--metal:#c3cad1}[data-pastel=rosa]{--p-bg:#fbe1e7;--p-text:#8a2f45;--p-dot:#e8899e}[data-pastel=coral]{--p-bg:#fde3db;--p-text:#8f3a22;--p-dot:#f09a7f}[data-pastel=melocoton]{--p-bg:#fde9d6;--p-text:#8a4a14;--p-dot:#f2b277}[data-pastel=mantequilla]{--p-bg:#fbf1c9;--p-text:#6e5a0c;--p-dot:#e6c955}[data-pastel=menta]{--p-bg:#d9f3e8;--p-text:#1f6b4a;--p-dot:#6fcfa2}[data-pastel=salvia]{--p-bg:#e3ecdc;--p-text:#3e5a2c;--p-dot:#9db98a}[data-pastel=cielo]{--p-bg:#dceefb;--p-text:#1f5a85;--p-dot:#7bb8e6}[data-pastel=lavanda]{--p-bg:#e6e3fa;--p-text:#43399a;--p-dot:#a79ee8}[data-pastel=lila]{--p-bg:#f1e1f5;--p-text:#6e2f80;--p-dot:#cf96de}[data-pastel=arena]{--p-bg:#efe7dc;--p-text:#5e4b33;--p-dot:#c9b294}[data-pastel=none]{--p-bg:var(--surface-2);--p-text:var(--text-2);--p-dot:var(--line-strong)}[data-theme=dark] [data-pastel=rosa]{--p-bg:#4a2d36;--p-text:#f5c6d0;--p-dot:#f5c6d0}[data-theme=dark] [data-pastel=coral]{--p-bg:#4a3029;--p-text:#f8cbbd;--p-dot:#f8cbbd}[data-theme=dark] [data-pastel=melocoton]{--p-bg:#4a3626;--p-text:#f8d4b0;--p-dot:#f8d4b0}[data-theme=dark] [data-pastel=mantequilla]{--p-bg:#45402a;--p-text:#f3e3a2;--p-dot:#f3e3a2}[data-theme=dark] [data-pastel=menta]{--p-bg:#2a4538;--p-text:#bfeedb;--p-dot:#bfeedb}[data-theme=dark] [data-pastel=salvia]{--p-bg:#343f2e;--p-text:#cfe0c2;--p-dot:#cfe0c2}[data-theme=dark] [data-pastel=cielo]{--p-bg:#2b3b4b;--p-text:#c6dcf5;--p-dot:#c6dcf5}[data-theme=dark] [data-pastel=lavanda]{--p-bg:#35314f;--p-text:#d6d0fa;--p-dot:#d6d0fa}[data-theme=dark] [data-pastel=lila]{--p-bg:#432f4a;--p-text:#ecc9f5;--p-dot:#ecc9f5}[data-theme=dark] [data-pastel=arena]{--p-bg:#3f3830;--p-text:#e6d8c4;--p-dot:#e6d8c4}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}a{color:var(--link)}button,input,textarea,select{font:inherit;color:inherit}input::placeholder,textarea::placeholder{color:var(--placeholder)}:focus-visible{outline:2px solid var(--link);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3{margin:0;font-weight:500}.display{font-family:var(--font-title);letter-spacing:-.01em;font-weight:500}.hand{font-family:var(--font-hand);font-style:var(--hand-style);font-weight:500}.section-title{font-family:var(--font-title);color:var(--text);font-size:19px;font-weight:500}.muted{color:var(--muted)}.small{font-size:13px}.shell{min-height:100dvh}.main{width:100%;max-width:1180px;padding:24px 16px calc(var(--tabbar-h) + 24px + env(safe-area-inset-bottom));margin:0 auto}.sidebar{display:none}.tabbar{height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);z-index:10;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.nav-link{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:44px;font-size:12px;text-decoration:none;display:flex;position:relative}.nav-link:hover{color:var(--text)}.nav-link.active{color:var(--text);font-weight:500}.nav-link.active svg{color:var(--gem,var(--primary))}.badge{background:var(--primary);min-width:18px;height:18px;color:var(--on-primary);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:8px;left:calc(50% + 6px)}@media (width>=900px){.shell{grid-template-columns:240px minmax(0,1fr);display:grid}.tabbar{display:none}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:6px;height:100dvh;padding:28px 16px;display:flex;position:sticky;top:0}.sidebar .brand{align-items:center;gap:10px;padding:0 10px 24px;display:flex}.sidebar .nav-link{border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px;min-height:46px;padding:0 12px;font-size:15px}.sidebar .nav-link.active{background:var(--surface-2)}.sidebar .badge{margin-left:auto;position:static}.sidebar .sidebar-foot{align-items:center;gap:10px;margin-top:auto;padding:10px;display:flex}.main{padding:40px 40px 48px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px}.stack{flex-direction:column;gap:16px;display:flex}.row{align-items:center;gap:12px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-head h1{font-family:var(--font-title);letter-spacing:-.01em;font-size:clamp(28px,4vw,36px);font-weight:500}.page-head h1.hand{font-family:var(--font-hand);font-size:calc(clamp(28px, 4vw, 36px) * var(--hand-scale));line-height:1}.page-head p{color:var(--muted);margin:6px 0 0;font-size:15px}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);color:var(--on-primary)}.btn-outline{border-color:var(--line-strong);color:var(--text);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--text);color:var(--text)}.btn-soft{background:var(--surface-2);color:var(--text)}.btn-soft:hover:not(:disabled){background:var(--line);color:var(--text)}.btn-danger{background:var(--danger-bg);color:var(--danger-text)}.btn-ghost{color:var(--muted);background:0 0;min-height:44px;padding:0 12px}.btn-ghost:hover{color:var(--text)}.btn-block{width:100%}.icon-btn{width:44px;min-height:44px;padding:0}.field{color:var(--text-2);flex-direction:column;gap:8px;font-size:14px;font-weight:500;display:flex}.input,.textarea{border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--text);border-radius:12px;font-size:16px}.input{height:50px;padding:0 14px}.textarea{resize:vertical;padding:12px 14px}.input:focus,.textarea:focus{border-color:var(--text);outline:none}.segmented{background:var(--surface-2);border-radius:var(--radius);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:4px;display:grid}.segmented button{min-height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:14px;font-weight:500}.segmented button[aria-pressed=true],.segmented button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--line)}.segmented.give button[aria-pressed=true]{background:var(--plus);color:var(--on-plus);box-shadow:none}.segmented.take button[aria-pressed=true]{background:var(--minus);color:var(--on-plus);box-shadow:none}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);min-height:44px;color:var(--text);border-radius:22px;padding:0 16px;font-size:15px;font-weight:500}.chip[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.avatar{background:var(--gem,var(--primary));width:44px;height:44px;color:var(--on-gem);font-family:var(--font-title);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:500;text-decoration:none;display:inline-flex}.avatar.lg{width:96px;height:96px;font-size:40px}.error{color:var(--minus);margin:0;font-size:14px}.success{color:var(--plus);margin:0;font-size:14px}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:28px 16px}.center-screen{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.banner{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.banner p{flex:220px;margin:0}.toasts{z-index:50;left:50%;bottom:calc(var(--tabbar-h) + 12px + env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;gap:8px;width:min(420px,100% - 32px);display:flex;position:fixed;transform:translate(-50%)}@media (width>=900px){.toasts{bottom:24px;left:auto;right:24px;transform:none}}.toast{pointer-events:auto;background:var(--text);color:var(--bg);border-radius:var(--radius);align-items:flex-start;gap:10px;padding:12px 16px;font-size:14px;text-decoration:none;animation:.2s ease-out toast-in;display:flex}.toast strong{font-weight:500;display:block}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.home-grid{gap:24px;display:grid}@media (width>=1040px){.home-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}}.scoreboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.player{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.player .pts{font-family:var(--font-title);color:var(--gem-text);margin-top:6px;font-size:clamp(30px,6vw,40px);line-height:1.1}.player .name{font-weight:500}.player .house{color:var(--muted);font-size:13px}.score-row{flex-direction:column;gap:6px;display:flex}.score-row .who{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.score-row .name{font-weight:500}.score-row .pts{font-family:var(--font-title);color:var(--gem-text);font-size:28px;line-height:1}.bar{background:var(--bar-track);border-radius:4px;height:8px;overflow:hidden}.bar>div{background:var(--gem);border-radius:4px;height:100%;transition:width .4s}.notes-list{gap:12px;display:grid}@media (width>=640px) and (width<=1039px){.notes-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.note{background:var(--gem-tint);color:var(--ink);border-radius:6px 6px 6px 18px;flex-direction:column;gap:8px;padding:14px 16px 10px;display:flex}.note p{font-family:var(--font-hand);font-style:var(--hand-style);font-size:calc(19px * var(--hand-scale));overflow-wrap:anywhere;margin:0;line-height:1.25}.note .meta{color:var(--ink-2);align-items:center;gap:10px;font-size:12px;display:flex}.note .life{background:var(--bar-track);border-radius:2px;flex-grow:1;height:3px;overflow:hidden}.note .life>div{background:var(--gem);height:100%}.note .actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.note .del{min-height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0 8px;font-size:12px;text-decoration:underline}.reaction{cursor:pointer;min-width:40px;height:32px;color:var(--ink-2);background:0 0;border:1px solid #0000;border-radius:16px;align-items:center;gap:4px;padding:0 8px;font-size:16px;line-height:1;display:inline-flex}.reaction:hover{background:var(--bar-track)}.reaction[aria-pressed=true]{border-color:var(--gem);background:var(--surface)}.reaction .count{font-size:12px}.composer{gap:8px;display:flex}.composer .input{flex-grow:1;min-width:0}.points-grid{gap:24px;display:grid}@media (width>=1040px){.points-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.amounts{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.amounts .chip{padding:0}.history-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.history-item:last-child{border-bottom:0}.history-item .delta{width:52px;font-weight:500;font-family:var(--font-title);flex-shrink:0;font-size:18px}.history-item .delta.plus{color:var(--plus)}.history-item .delta.minus{color:var(--minus)}.history-item .body{flex-direction:column;flex-grow:1;gap:2px;min-width:0;display:flex}.letters-grid{gap:14px;display:grid}@media (width>=720px){.letters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1280px){.letters-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.letter-card{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:16px;gap:14px;padding:16px;text-decoration:none;transition:transform .15s,border-color .15s;display:flex}.letter-card:hover{color:var(--ink);border-color:var(--line-strong);transform:translateY(-2px)}.letter-card .title{font-family:var(--font-title);font-size:19px;font-weight:500;line-height:1.25}.letter-card .excerpt{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.letter-card .tag{color:var(--ink-2);font-size:12px;font-weight:500}.letter-card .tag.new{color:var(--minus)}.letter-card .tag.sealed{color:var(--link)}.seal{background:var(--gem);width:44px;height:44px;color:var(--on-gem);font-family:var(--font-title);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:500;display:flex;box-shadow:inset 0 0 0 3px #0000001f}.fab{right:16px;bottom:calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom));z-index:5;border-radius:28px;position:fixed;box-shadow:0 6px 20px #0000002e}@media (width>=900px){.fab{box-shadow:none;position:static}}.editor,.editor-panes{gap:16px;display:grid}.editor-tabs{display:grid}@media (width>=1040px){.editor-tabs{display:none}.editor-panes{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.editor-panes>[hidden]{display:flex!important}}.title-input{border:0;border-bottom:1px solid var(--line-strong);width:100%;color:var(--text);font-family:var(--font-title);background:0 0;height:auto;padding:6px 0;font-size:26px}.title-input:focus{border-color:var(--text);outline:none}.toolbar{gap:6px;display:flex;overflow-x:auto}.toolbar button{border:1px solid var(--line);background:var(--surface);width:44px;height:40px;color:var(--text);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.toolbar button:hover{background:var(--surface-2)}.md-input{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:420px;color:var(--text-2);font-family:var(--font-mono);resize:vertical;padding:16px;font-size:14px;line-height:1.65}.md-input:focus{border-color:var(--text);outline:none}.pane{flex-direction:column;gap:8px;min-width:0;display:flex}.paper{background:var(--paper);color:var(--ink);border:1px solid var(--line);font-family:var(--font-title);overflow-wrap:anywhere;border-radius:16px;padding:clamp(22px,4vw,48px);font-size:18px;line-height:1.7}.paper h1,.paper h2,.paper h3{margin:.8em 0 .4em;font-weight:500;line-height:1.2}.paper h1{font-family:var(--font-hand);font-style:var(--hand-style);font-size:calc(30px * var(--hand-scale));margin-top:0}.paper h2{font-size:23px}.paper h3{font-size:19px}.paper p{margin:0 0 .8em}.paper blockquote{color:var(--ink-2);background:var(--bar-track);border-radius:8px;margin:0 0 .8em;padding:6px 16px;font-style:italic}.paper a{color:var(--link)}.paper img{border-radius:8px;max-width:100%}.paper code{font-family:var(--font-mono);background:var(--bar-track);border-radius:4px;padding:1px 5px;font-size:.8em}.paper hr{border:0;border-top:1px solid var(--line-strong);margin:1.2em 0}.paper table{border-collapse:collapse}.paper th,.paper td{border:1px solid var(--line-strong);padding:4px 8px}.paper :last-child{margin-bottom:0}.read-wrap{max-width:760px;margin:0 auto}.cat-chip{background:var(--p-bg);min-height:30px;color:var(--p-text);white-space:nowrap;border-radius:15px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.cat-chip.small{min-height:24px;padding:0 9px;font-size:12px}button.cat-chip{cursor:pointer;border:1px solid #0000;min-height:40px;font-size:14px}button.cat-chip[aria-pressed=true]{border-color:var(--p-text);box-shadow:0 0 0 1px var(--p-text)}.cat-chip.add{border:1px dashed var(--line-strong);color:var(--muted);background:0 0;text-decoration:none}.status-badge{background:var(--surface-2);min-height:24px;color:var(--text-2);border-radius:12px;align-items:center;padding:0 9px;font-size:12px;font-weight:500;display:inline-flex}.status-badge.proposed,.status-badge.warn{background:var(--danger-bg);color:var(--danger-text)}.status-badge.accepted{background:color-mix(in srgb, var(--plus) 18%, transparent);color:var(--plus)}.status-badge.done{background:color-mix(in srgb, var(--link) 18%, transparent);color:var(--link)}.plan-card{color:var(--text);background:var(--p-bg);border-radius:14px;align-items:flex-start;gap:12px;padding:12px 14px;text-decoration:none;transition:transform .15s;display:flex}.plan-card:hover{color:var(--text);transform:translateY(-1px)}.plan-time{width:46px;font-family:var(--font-title);color:var(--p-text);flex-shrink:0;padding-top:1px;font-size:16px}.plan-body{flex-direction:column;gap:3px;min-width:0;display:flex}.plan-title{overflow-wrap:anywhere;color:var(--text);font-size:15px;font-weight:500}[data-pastel]:not([data-pastel=none]) .plan-title{color:var(--p-text)}.plan-meta{color:var(--p-text);opacity:.9;font-size:12px}.plans-grid{gap:24px;display:grid}@media (width>=1040px){.plans-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}}.day-group{flex-direction:column;gap:8px;display:flex}.day-label{color:var(--muted);margin-top:6px;font-size:13px;font-weight:500}.pending-card{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:14px;flex-direction:column;gap:6px;padding:12px 14px;text-decoration:none;display:flex}.pending-card:hover{color:var(--text);border-color:var(--line-strong)}.pending-card.mine{border-color:var(--minus);box-shadow:0 0 0 1px var(--minus)}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar .dow{text-align:center;color:var(--muted);padding-bottom:4px;font-size:11px}.calendar button{aspect-ratio:1;min-height:40px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:14px;display:flex}@media (width>=700px){.calendar button{aspect-ratio:auto;height:58px}}.calendar button.other{color:var(--placeholder)}.calendar button.today{box-shadow:inset 0 0 0 1px var(--line-strong);font-weight:700}.calendar button[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.calendar .dots{gap:2px;height:6px;display:flex}.calendar .dots span{background:var(--p-dot);border-radius:50%;width:6px;height:6px}.compare{gap:6px;font-size:14px;display:grid}.compare .from{color:var(--muted);text-decoration:line-through}.compare .to{font-weight:500}.hearts{gap:2px;display:flex}.hearts button{cursor:pointer;background:0 0;border:0;min-width:40px;min-height:40px;padding:2px;font-size:26px;line-height:1}.history{color:var(--text-2);flex-direction:column;gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.history li{gap:8px;display:flex}.history time{color:var(--muted);flex-shrink:0}.pastel-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.pastel-grid button{aspect-ratio:1;border:3px solid var(--surface);background:var(--p-bg);min-height:40px;box-shadow:0 0 0 1px var(--p-dot);cursor:pointer;border-radius:50%}.pastel-grid button[aria-checked=true]{box-shadow:0 0 0 2px var(--text)}.profile-grid{gap:24px;display:grid}@media (width>=1040px){.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.profile-grid>*{min-width:0}.list{background:var(--surface);border:1px solid var(--line);border-radius:16px}.list-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:10px 16px;display:flex}.list-row:last-child{border-bottom:0}.houses{flex:280px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:360px;display:grid}.house-btn{text-align:left;border:1px solid var(--line-strong);background:var(--surface);min-height:52px;color:var(--text);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:500;line-height:1.2;display:flex}.house-btn .dot{background:var(--gem);width:18px;height:18px;box-shadow:0 0 0 2px var(--metal);border-radius:50%;flex-shrink:0}.house-btn[aria-checked=true]{border-color:var(--gem);box-shadow:0 0 0 1px var(--gem);background:var(--gem-tint)}.gems{gap:8px;display:flex}.gem-btn{cursor:pointer;background:var(--gem);border:3px solid var(--surface);border-radius:50%;width:34px;height:34px}.gem-btn[aria-checked=true]{border-color:var(--surface);outline:2px solid var(--text)}.qr{background:#fff;border-radius:12px;width:200px;height:200px;padding:10px}
