
@font-face{font-family:"Zen Maru Gothic";font-style:normal;font-weight:500;font-display:swap;src:local("Zen Maru Gothic Medium"),local("ZenMaruGothic-Medium"),url("/me/assets/fonts/zen-maru-gothic-500.00231155.woff2") format("woff2")}
@font-face{font-family:"Zen Maru Gothic";font-style:normal;font-weight:700;font-display:swap;src:local("Zen Maru Gothic Bold"),local("ZenMaruGothic-Bold"),url("/me/assets/fonts/zen-maru-gothic-700.ca18e78a.woff2") format("woff2")}
:root{
  color-scheme:light;
  --font:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Sans","BIZ UDPGothic","Noto Sans JP","Yu Gothic UI",system-ui,sans-serif;
  --fs-2xs:.7rem;--fs-xs:.78rem;--fs-sm:.86rem;--fs-md:.94rem;--fs-base:1rem;--fs-lg:1.12rem;--fs-xl:1.3rem;--fs-2xl:2rem;
  --ease:cubic-bezier(.2,.75,.25,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
  --radius:22px;
  --lift:320px;
  --page:#f6f2fd;
  --page-2:#fbf8ff;
  --glow-a:rgba(196,178,244,.42);
  --glow-b:rgba(181,237,218,.55);
  --glow-c:rgba(255,215,196,.55);
  --star:#ffffff;
  --star-dim:rgba(138,118,214,.3);
  --sparkles:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'1931'%20height%3D'1297'%3E%3Cpath%20d%3D'M88%20116Q88.8%20119.2%2092%20120Q88.8%20120.8%2088%20124Q87.2%20120.8%2084%20120Q87.2%20119.2%2088%20116Z'%20fill%3D'%23a08fe0'%20opacity%3D'0.32'%2F%3E%3Cpath%20d%3D'M702%20465.5Q702.9%20469.1%20706.5%20470Q702.9%20470.9%20702%20474.5Q701.1%20470.9%20697.5%20470Q701.1%20469.1%20702%20465.5Z'%20fill%3D'%23b9a6ee'%20opacity%3D'0.28'%2F%3E%3Cpath%20d%3D'M1240%2092.6Q1240.7%2095.3%201243.4%2096Q1240.7%2096.7%201240%2099.4Q1239.3%2096.7%201236.6%2096Q1239.3%2095.3%201240%2092.6Z'%20fill%3D'%23f5bb45'%20opacity%3D'0.38'%2F%3E%3Cpath%20d%3D'M1610%20636Q1610.8%20639.2%201614%20640Q1610.8%20640.8%201610%20644Q1609.2%20640.8%201606%20640Q1609.2%20639.2%201610%20636Z'%20fill%3D'%23a08fe0'%20opacity%3D'0.3'%2F%3E%3Cpath%20d%3D'M430%201006.4Q430.7%201009.3%20433.6%201010Q430.7%201010.7%20430%201013.6Q429.3%201010.7%20426.4%201010Q429.3%201009.3%20430%201006.4Z'%20fill%3D'%23f2a7c4'%20opacity%3D'0.3'%2F%3E%3C%2Fsvg%3E") 0 0/1931px 1297px,url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'947'%20height%3D'947'%3E%3Cpath%20d%3D'M700%20157.6Q700.5%20159.5%20702.4%20160Q700.5%20160.5%20700%20162.4Q699.5%20160.5%20697.6%20160Q699.5%20159.5%20700%20157.6Z'%20fill%3D'%23a08fe0'%20opacity%3D'0.26'%2F%3E%3Cpath%20d%3D'M340%20858Q340.4%20859.6%20342%20860Q340.4%20860.4%20340%20862Q339.6%20860.4%20338%20860Q339.6%20859.6%20340%20858Z'%20fill%3D'%23f2a7c4'%20opacity%3D'0.28'%2F%3E%3C%2Fsvg%3E") 0 0/947px 947px;
  --surface:#fffdf9;
  --surface-raised:#ffffff;
  --surface-soft:#f8f4fe;
  --surface-sunk:#f1ebfb;
  --glass:rgba(255,253,249,.88);
  --glass-line:rgba(255,255,255,.7);
  --line:#e7def4;
  --line-strong:#d5c8ec;
  --field-line:#958ac0;
  --dash:#ddd3ef;
  --ink:#2e2856;
  --ink-soft:#4b4472;
  --muted:#675f8c;
  --faint:#6f6893;
  --accent:#6a48d8;
  --accent-ink:#5634b4;
  --accent-tint:#efe8ff;
  --accent-line:#d8cafb;
  --primary-1:#7652e4;
  --primary-2:#5634b4;
  --primary-glow:rgba(120,88,224,.34);
  --gold:#f5bb45;
  --gold-light:#ffe59a;
  --gold-ink:#875700;
  --gold-tint:#fff4d6;
  --ribbon:#c9455a;
  --ribbon-light:#e98694;
  --ribbon-deep:#9c2e41;
  --ok-bg:#e6f6ef;--ok-line:#bfe3d3;--ok-ink:#17695a;
  --warn-bg:#fff4da;--warn-line:#f0d49b;--warn-ink:#7d5207;
  --bad-bg:#fdecef;--bad-line:#f2c6cf;--bad-ink:#a42d3d;
  --info-bg:#e9f0fd;--info-line:#c8d8f6;--info-ink:#2c5aa6;
  --night-bg:#ece8fb;--night-line:#d3cbf2;--night-ink:#4a3fa0;
  --k-preference:#ee7ba6;--k-preference-tint:#fdebf2;--k-preference-ink:#b03a6b;
  --k-fact:#6e9be8;--k-fact-tint:#e8f0fd;--k-fact-ink:#2d5cab;
  --k-episode:#f39a5b;--k-episode-tint:#feeee2;--k-episode-ink:#9c4710;
  --k-promise:#8a62e8;--k-promise-tint:#ece3fe;--k-promise-ink:#5432b2;
  --k-knowledge:#3fb59a;--k-knowledge-tint:#e3f6f0;--k-knowledge-ink:#176b5a;
  --k-other:#9c8fd8;--k-other-tint:#eeeafb;--k-other-ink:#55479f;
  --shadow-sm:0 1px 2px rgba(46,40,86,.06),0 4px 14px rgba(84,64,160,.07);
  --shadow:0 2px 4px rgba(46,40,86,.05),0 16px 36px rgba(84,64,160,.12);
  --shadow-drop:drop-shadow(0 12px 18px rgba(84,64,160,.13)) drop-shadow(0 1px 1px rgba(46,40,86,.08));
  --ring:0 0 0 1px rgba(255,255,255,.6);
  --rim:inset 0 1px 0 rgba(255,255,255,.7);
  --input-bg:#fdfbff;
  --switch-knob:#ffffff;
  --selection:rgba(106,72,216,.24);
  --cut:var(--surface);
  --chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235634b4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 9.5l5.5 5.5 5.5-5.5'/%3E%3C/svg%3E");
  --switch-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4Q13.6 10.4 20 12Q13.6 13.6 12 20Q10.4 13.6 4 12Q10.4 10.4 12 4Z' fill='%235634b4'/%3E%3C/svg%3E");
  /* The sky starts --lift above the hero so that it also sits behind the header. White text stays on the darker top. */
  --sky:radial-gradient(ellipse 34% 60% at 90% 100%,rgba(242,180,214,.5),transparent 70%),radial-gradient(ellipse 40% 60% at 4% 100%,rgba(160,226,214,.35),transparent 70%),
    linear-gradient(180deg,#564bb9 0,#564bb9 calc(var(--lift) - 60px),#6458c4 calc(var(--lift) + 120px),#6c5fc8 calc(var(--lift) + 230px),#8a78d3 calc(100% - 50px),#a48bdb 100%);
  --sky-tall:radial-gradient(ellipse 50% 30% at 92% 96%,rgba(255,211,196,.55),transparent 70%),radial-gradient(ellipse 50% 30% at 6% 100%,rgba(160,226,214,.45),transparent 70%),
    linear-gradient(180deg,#564bb9 0,#564bb9 var(--lift),#6458c4 calc(var(--lift) + 12%),#7466c9 calc(var(--lift) + 26%),#9585da calc(var(--lift) + 40%),#c7a6de calc(var(--lift) + 52%),#efc2d3 calc(var(--lift) + 61%),#f9d3c4 100%);
  /* Behind white loading and error text: stays deep all the way down. */
  --sky-calm:linear-gradient(180deg,#564bb9 0,#564bb9 var(--lift),#5c50bd calc(var(--lift) + 40%),#6458c4 100%);
  font-family:var(--font);font-size:93.75%;line-height:1.75;font-weight:500;letter-spacing:.02em;
  -webkit-text-size-adjust:100%;text-size-adjust:100%;
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --page: #0b0a1f;
  --page-2: #110e2b;
  --glow-a: rgba(108, 86, 214, .30);
  --glow-b: rgba(46, 128, 140, .16);
  --glow-c: rgba(176, 72, 140, .14);
  --star: #ffffff;
  --star-dim: rgba(214, 208, 255, .7);
  --sparkles: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'1931'%20height%3D'1297'%3E%3Cpath%20d%3D'M88%20115Q89%20119%2093%20120Q89%20121%2088%20125Q87%20121%2083%20120Q87%20119%2088%20115Z'%20fill%3D'%23fff'%20opacity%3D'0.9'%2F%3E%3Cpath%20d%3D'M702%20464.5Q703.1%20468.9%20707.5%20470Q703.1%20471.1%20702%20475.5Q700.9%20471.1%20696.5%20470Q700.9%20468.9%20702%20464.5Z'%20fill%3D'%23fff'%20opacity%3D'0.75'%2F%3E%3Cpath%20d%3D'M1240%2091.8Q1240.8%2095.2%201244.2%2096Q1240.8%2096.8%201240%20100.2Q1239.2%2096.8%201235.8%2096Q1239.2%2095.2%201240%2091.8Z'%20fill%3D'%23ffe7a8'%20opacity%3D'0.85'%2F%3E%3Cpath%20d%3D'M1610%20635Q1611%20639%201615%20640Q1611%20641%201610%20645Q1609%20641%201605%20640Q1609%20639%201610%20635Z'%20fill%3D'%23fff'%20opacity%3D'0.8'%2F%3E%3Cpath%20d%3D'M430%201005.6Q430.9%201009.1%20434.4%201010Q430.9%201010.9%20430%201014.4Q429.1%201010.9%20425.6%201010Q429.1%201009.1%20430%201005.6Z'%20fill%3D'%23c8b6ff'%20opacity%3D'0.8'%2F%3E%3Cpath%20d%3D'M1180%201146.2Q1180.8%201149.2%201183.8%201150Q1180.8%201150.8%201180%201153.8Q1179.2%201150.8%201176.2%201150Q1179.2%201149.2%201180%201146.2Z'%20fill%3D'%23fff'%20opacity%3D'0.75'%2F%3E%3Cpath%20d%3D'M1850%20296.4Q1850.7%20299.3%201853.6%20300Q1850.7%20300.7%201850%20303.6Q1849.3%20300.7%201846.4%20300Q1849.3%20299.3%201850%20296.4Z'%20fill%3D'%23ffe7a8'%20opacity%3D'0.7'%2F%3E%3C%2Fsvg%3E") 0 0/1931px 1297px,url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'613'%20height%3D'613'%3E%3Cpath%20d%3D'M410%2037.6Q410.5%2039.5%20412.4%2040Q410.5%2040.5%20410%2042.4Q409.5%2040.5%20407.6%2040Q409.5%2039.5%20410%2037.6Z'%20fill%3D'%23ffe7a8'%20opacity%3D'0.7'%2F%3E%3Cpath%20d%3D'M250%20298Q250.4%20299.6%20252%20300Q250.4%20300.4%20250%20302Q249.6%20300.4%20248%20300Q249.6%20299.6%20250%20298Z'%20fill%3D'%23c8b6ff'%20opacity%3D'0.7'%2F%3E%3Cpath%20d%3D'M150%20518.2Q150.4%20519.6%20151.8%20520Q150.4%20520.4%20150%20521.8Q149.6%20520.4%20148.2%20520Q149.6%20519.6%20150%20518.2Z'%20fill%3D'%23fff'%20opacity%3D'0.55'%2F%3E%3C%2Fsvg%3E") 0 0/613px 613px,url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'947'%20height%3D'947'%3E%3Cpath%20d%3D'M130%20467.6Q130.5%20469.5%20132.4%20470Q130.5%20470.5%20130%20472.4Q129.5%20470.5%20127.6%20470Q129.5%20469.5%20130%20467.6Z'%20fill%3D'%23ffe7a8'%20opacity%3D'0.6'%2F%3E%3Cpath%20d%3D'M700%20157.8Q700.4%20159.6%20702.2%20160Q700.4%20160.4%20700%20162.2Q699.6%20160.4%20697.8%20160Q699.6%20159.6%20700%20157.8Z'%20fill%3D'%23fff'%20opacity%3D'0.6'%2F%3E%3Cpath%20d%3D'M340%20858.2Q340.4%20859.6%20341.8%20860Q340.4%20860.4%20340%20861.8Q339.6%20860.4%20338.2%20860Q339.6%20859.6%20340%20858.2Z'%20fill%3D'%23fff'%20opacity%3D'0.6'%2F%3E%3Cpath%20d%3D'M880%20637.6Q880.5%20639.5%20882.4%20640Q880.5%20640.5%20880%20642.4Q879.5%20640.5%20877.6%20640Q879.5%20639.5%20880%20637.6Z'%20fill%3D'%23c8b6ff'%20opacity%3D'0.6'%2F%3E%3C%2Fsvg%3E") 0 0/947px 947px;
  --hero-sparkles: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'1931'%20height%3D'760'%3E%3Cpath%20d%3D'M300%20177.8Q300.4%20179.6%20302.2%20180Q300.4%20180.4%20300%20182.2Q299.6%20180.4%20297.8%20180Q299.6%20179.6%20300%20177.8Z'%20fill%3D'%23fff'%20opacity%3D'0.7'%2F%3E%3Cpath%20d%3D'M980%2087.6Q980.5%2089.5%20982.4%2090Q980.5%2090.5%20980%2092.4Q979.5%2090.5%20977.6%2090Q979.5%2089.5%20980%2087.6Z'%20fill%3D'%23ffe7a8'%20opacity%3D'0.75'%2F%3E%3Cpath%20d%3D'M1500%20328Q1500.4%20329.6%201502%20330Q1500.4%20330.4%201500%20332Q1499.6%20330.4%201498%20330Q1499.6%20329.6%201500%20328Z'%20fill%3D'%23fff'%20opacity%3D'0.65'%2F%3E%3Cpath%20d%3D'M620%20518.2Q620.4%20519.6%20621.8%20520Q620.4%20520.4%20620%20521.8Q619.6%20520.4%20618.2%20520Q619.6%20519.6%20620%20518.2Z'%20fill%3D'%23c8b6ff'%20opacity%3D'0.7'%2F%3E%3Cpath%20d%3D'M1760%20597.8Q1760.4%20599.6%201762.2%20600Q1760.4%20600.4%201760%20602.2Q1759.6%20600.4%201757.8%20600Q1759.6%20599.6%201760%20597.8Z'%20fill%3D'%23fff'%20opacity%3D'0.6'%2F%3E%3C%2Fsvg%3E") 0 0/1931px 760px;
  --surface: #17153a;
  --surface-raised: #241f55;
  --surface-soft: #201c4b;
  --surface-sunk: #120f2e;
  --glass: rgba(29, 26, 69, .84);
  --glass-line: rgba(196, 178, 255, .16);
  --line: #2e2961;
  --line-strong: #463e86;
  --field-line: #756cbd;
  --dash: #3b3576;
  --ink: #f1edff;
  --ink-soft: #d3ccf3;
  --muted: #aaa3d3;
  --faint: #9a94c8;
  --accent: #a98bff;
  --accent-ink: #c8b6ff;
  --accent-tint: #2a2163;
  --accent-line: #4d3f9e;
  --primary-1: #7655ec;
  --primary-2: #5a3bd2;
  --primary-glow: rgba(146, 115, 255, .42);
  --gold: #ffcf6b;
  --gold-light: #ffe7a8;
  --gold-ink: #ffd98c;
  --gold-tint: #34290f;
  --ok-bg: #11302a; --ok-line: #23594b; --ok-ink: #8fe3c7;
  --warn-bg: #33270e; --warn-line: #6a5121; --warn-ink: #ffd47e;
  --bad-bg: #3a1622; --bad-line: #73293c; --bad-ink: #ffa3b5;
  --info-bg: #15244a; --info-line: #2d4a87; --info-ink: #a8c6ff;
  --night-bg: #211c52; --night-line: #40388a; --night-ink: #cfc4ff;
  --k-preference: #ff8fba; --k-preference-tint: #3a1d3c; --k-preference-ink: #ffb8d3;
  --k-fact: #8db5ff; --k-fact-tint: #1a2a52; --k-fact-ink: #b9d0ff;
  --k-episode: #ffaa6e; --k-episode-tint: #46303f; --k-episode-ink: #ffc9a1;
  --k-promise: #ae91ff; --k-promise-tint: #2a2066; --k-promise-ink: #d0c0ff;
  --k-knowledge: #5ed6b6; --k-knowledge-tint: #12363a; --k-knowledge-ink: #97ebd3;
  --k-other: #b8adf2; --k-other-tint: #241f50; --k-other-ink: #d4cdff;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .35), 0 6px 16px rgba(3, 2, 18, .32);
  --shadow: 0 2px 6px rgba(0, 0, 0, .3), 0 18px 40px rgba(3, 2, 18, .5);
  --shadow-drop: drop-shadow(0 14px 22px rgba(3, 2, 18, .55)) drop-shadow(0 1px 1px rgba(0, 0, 0, .4));
  --ring: 0 0 0 1px rgba(196, 178, 255, .08);
  --rim: inset 0 1px 0 rgba(255, 255, 255, .06);
  --input-bg: #120f2e;
  --switch-knob: #a59cd8;
  --selection: rgba(169, 139, 255, .42);
  --chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c8b6ff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 9.5l5.5 5.5 5.5-5.5'/%3E%3C/svg%3E");
  --switch-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4Q13.6 10.4 20 12Q13.6 13.6 12 20Q10.4 13.6 4 12Q10.4 10.4 12 4Z' fill='%235a3bd2'/%3E%3C/svg%3E");
  --sky: radial-gradient(ellipse 55% 60% at 82% calc(var(--lift) - 20px),rgba(150,120,255,.38),transparent 70%),
    linear-gradient(162deg,transparent 22%,rgba(178,160,255,.10) 38%,rgba(255,190,230,.07) 47%,rgba(130,180,255,.06) 55%,transparent 68%),
    radial-gradient(ellipse 40% 60% at 4% calc(var(--lift) + 120px),rgba(56,138,170,.16),transparent 70%),
    linear-gradient(180deg,#0a0828 0,#0a0828 var(--lift),#15113f calc(var(--lift) + 220px),rgba(11,10,31,0) 100%);
  --sky-tall: radial-gradient(ellipse 70% 40% at 50% calc(var(--lift) + 40px),rgba(122,98,232,.34),transparent 70%),
    linear-gradient(162deg,transparent 20%,rgba(178,160,255,.09) 38%,rgba(255,190,230,.06) 48%,transparent 66%),
    radial-gradient(ellipse 50% 30% at 10% 92%,rgba(46,128,140,.18),transparent 70%),
    linear-gradient(180deg,#0a0828 0%,#0d0b29 60%,rgba(11,10,31,.4) 100%);
  --sky-calm: var(--sky-tall);
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--page);scroll-padding-top:24px;scrollbar-color:var(--line-strong) var(--page)}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;color:var(--ink);background:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
main{flex:1 0 auto;position:relative;width:100%;outline:none}
button,input,textarea,select{font:inherit;letter-spacing:inherit;color:inherit}
button,a,input,textarea,select,summary,label{-webkit-tap-highlight-color:transparent}
button,a,summary{touch-action:manipulation}
a{color:inherit;text-decoration:none}
p{margin:0;text-wrap:pretty}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.45;letter-spacing:.04em;text-wrap:balance}
h1{font-size:var(--fs-2xl);line-height:1.35}
h2{font-size:var(--fs-lg)}
h3{font-size:var(--fs-md)}
h1,h2,h3,h4,label,.lead,.intro,.eyebrow,.field-help,.section-copy p,.conversation-copy,.dm-copy,.info-note p,.empty-state,.empty-state .hint,.toast p,.save-copy,.sky-card p,.ticket-stub,.memory-text,.reference-text,.switcher-copy p,.memory-delete-status,.decision dt,.decision dd,.reference-explainer,.reference-summary,summary,.guild-name,.ask-note,.ask-quote{word-break:auto-phrase}
@media (min-width:360px){.message-text{word-break:auto-phrase}}
[hidden]{display:none!important}
::selection{background:var(--selection);color:var(--ink)}
::placeholder{color:var(--muted);opacity:1}
:focus{outline:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:10px}
.site-header :focus-visible,.page-heading :focus-visible,.sky-card :focus-visible{outline-color:var(--gold-light)}
[tabindex="-1"]:focus-visible{outline:none}
.theme-switch button:focus-visible{outline-offset:1px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.icon{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em;overflow:visible}
.cut{fill:var(--cut)}
.cut-line{stroke:var(--cut)}
.muted{color:var(--muted)}
.small{font-size:var(--fs-sm)}
.numeric{font-variant-numeric:tabular-nums;letter-spacing:.03em}
.eyebrow{display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);letter-spacing:.14em;font-weight:700;color:var(--accent-ink);margin:0 0 8px}
.eyebrow .icon{width:13px;height:13px;color:var(--gold)}

/* ── the sky ─────────────────────────────────────────── */
.starfield{position:fixed;inset:0;z-index:-2;pointer-events:none;background:
  var(--sparkles),
  radial-gradient(ellipse 60% 50% at 6% 100%,var(--glow-b),transparent 70%),
  radial-gradient(ellipse 50% 45% at 100% 62%,var(--glow-c),transparent 70%),
  radial-gradient(ellipse 80% 50% at 50% 0%,var(--glow-a),transparent 70%),
  linear-gradient(180deg,var(--page) 0%,var(--page-2) 100%)}
.starfield::before,.starfield::after,.sky-stars::before,.sky-stars::after{content:"";position:absolute;inset:0;background-repeat:repeat}
.starfield::before{background-image:
  radial-gradient(1.3px 1.3px at 7% 12%,var(--star-dim) 50%,transparent 51%),radial-gradient(1px 1px at 23% 64%,var(--star-dim) 50%,transparent 51%),
  radial-gradient(1.5px 1.5px at 38% 27%,var(--star-dim) 50%,transparent 51%),radial-gradient(1px 1px at 51% 83%,var(--star-dim) 50%,transparent 51%),
  radial-gradient(1.2px 1.2px at 64% 9%,var(--star-dim) 50%,transparent 51%),radial-gradient(1.6px 1.6px at 77% 52%,var(--star-dim) 50%,transparent 51%),
  radial-gradient(1px 1px at 89% 31%,var(--star-dim) 50%,transparent 51%),radial-gradient(1.2px 1.2px at 95% 88%,var(--star-dim) 50%,transparent 51%),
  radial-gradient(1px 1px at 14% 92%,var(--star-dim) 50%,transparent 51%),radial-gradient(1.3px 1.3px at 45% 49%,var(--star-dim) 50%,transparent 51%);
  background-size:430px 430px}
.starfield::after,.sky-stars::after{background-image:
  radial-gradient(2px 2px at 18% 34%,var(--star) 45%,transparent 52%),radial-gradient(1.8px 1.8px at 71% 42%,var(--star) 45%,transparent 52%),
  radial-gradient(1.4px 1.4px at 33% 88%,var(--star) 45%,transparent 52%);
  background-size:690px 690px;opacity:.75}
.sky-stars::before{background-position:525px -90px;background-image:
  radial-gradient(1.6px 1.6px at 58% 71%,var(--star) 45%,transparent 52%),radial-gradient(2.2px 2.2px at 83% 16%,var(--star) 45%,transparent 52%),
  radial-gradient(1.4px 1.4px at 9% 58%,var(--star) 45%,transparent 52%);
  background-size:571px 571px;opacity:.85}
.sky-stars::after{background-position:462px 20px}
:root:not([data-theme="dark"]) .starfield::after{content:none}
.hero{position:relative;isolation:isolate;color:#fff;padding-bottom:112px}
.hero-sky{position:absolute;top:calc(-1 * var(--lift));left:0;right:0;bottom:0;z-index:-1;overflow:hidden;background:var(--sky);pointer-events:none;-webkit-mask:linear-gradient(#000 calc(100% - 124px),transparent);mask:linear-gradient(#000 calc(100% - 124px),transparent)}
.sky-stars{position:absolute;inset:0 0 auto;height:calc(var(--lift) + 440px);--star-dim:rgba(255,255,255,.75);-webkit-mask:linear-gradient(#000 60%,transparent);mask:linear-gradient(#000 60%,transparent)}
:root[data-theme="dark"] .sky-stars{background:var(--hero-sparkles)}
.sky-constellation{position:absolute;right:max(4vw,calc(50% - 520px));top:calc(var(--lift) + 8px);width:220px;color:rgba(255,255,255,.66)}
.shooting-star{position:absolute;top:calc(var(--lift) + 8px);left:calc(50% + 150px);width:130px;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,0));opacity:0;transform:rotate(-24deg)}
.shooting-star::before{content:"";position:absolute;left:-3px;top:-2px;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 10px 3px rgba(255,236,170,.8)}
.hero-charm{position:absolute;top:calc(var(--lift) - 96px);right:max(30px,calc(50% - 616px));display:flex;flex-direction:column;align-items:center;transform-origin:50% 0}
.charm-cord{width:3px;height:70px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--ribbon-deep),var(--ribbon-light) 55%,var(--ribbon))}
.charm-bead{width:26px;height:26px;margin-top:-6px;color:var(--gold);filter:drop-shadow(0 0 8px rgba(255,214,107,.85))}

/* ── header ──────────────────────────────────────────── */
.site-header{position:relative;z-index:3;width:100%;max-width:1120px;margin:0 auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#fff}
.brand{display:inline-flex;align-items:center;gap:12px;color:#fff;border-radius:16px}
.brand-mark{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:15px 15px 15px 5px;background:linear-gradient(145deg,rgba(255,255,255,.3),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 6px 18px rgba(24,14,80,.25);color:var(--gold-light)}
.brand-mark .icon{width:24px;height:24px;filter:drop-shadow(0 0 6px rgba(255,214,107,.7))}
.brand-text{display:flex;flex-direction:column;font-weight:700;letter-spacing:.2em;font-size:var(--fs-base);line-height:1.2}
.brand-text small{font-size:var(--fs-2xs);letter-spacing:.2em;font-weight:500;opacity:.9;margin-top:3px}
.header-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.account{display:flex;align-items:center;gap:6px;min-width:0}
.account-chip,.on-sky,.theme-switch{background:rgba(24,14,80,.32);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.account-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 8px;border-radius:999px;font-size:var(--fs-sm);max-width:220px;min-width:0}
.account-chip .icon{width:18px;height:18px;padding:3px;border-radius:50%;background:rgba(255,255,255,.22);color:#fff;--cut:transparent}
.account-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.theme-switch{position:relative;display:inline-flex;padding:3px;border-radius:999px;box-shadow:inset 0 1px 2px rgba(0,0,0,.15)}
.theme-switch button{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:30px;padding:0;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.82);cursor:pointer}
.theme-switch button:hover{color:#fff}
.theme-switch button[aria-pressed="true"]{color:#3a2c8f}
:root[data-theme="dark"] .theme-switch button[aria-pressed="true"]{color:#211a5c}
.theme-switch .icon{width:17px;height:17px}
.theme-thumb{position:absolute;top:3px;left:3px;width:34px;height:30px;border-radius:999px;background:linear-gradient(160deg,#fff,#f1eaff);box-shadow:0 2px 8px rgba(20,10,70,.3)}
:root[data-theme-mode="light"] .theme-thumb{transform:translateX(34px);background:linear-gradient(160deg,#fff8e1,#ffe59a)}
:root[data-theme-mode="dark"] .theme-thumb{transform:translateX(68px);background:linear-gradient(160deg,#e9e2ff,#c8b6ff)}

/* ── buttons ─────────────────────────────────────────── */
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:14px;padding:10px 18px;font-weight:700;font-size:var(--fs-md);line-height:1.5;cursor:pointer;text-align:center;position:relative}
button:disabled,button[aria-disabled="true"],.button[aria-disabled="true"]{opacity:.48;cursor:not-allowed}
.primary{color:#fff;background:linear-gradient(135deg,var(--primary-1),var(--primary-2));border-color:rgba(255,255,255,.12);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 8px 20px var(--primary-glow);text-shadow:0 1px 1px rgba(40,20,110,.35);overflow:hidden}
.primary::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-18deg);opacity:0}
.primary:not(:disabled):not([aria-disabled="true"]):hover{filter:brightness(1.07) saturate(1.05)}
.primary:not(:disabled):not([aria-disabled="true"]):hover::after{opacity:1;left:120%}
.primary:disabled,.primary[aria-disabled="true"]{opacity:1;background:var(--surface-sunk);color:var(--muted);border-color:var(--line-strong);box-shadow:none;text-shadow:none}
.secondary{color:var(--accent-ink);background:var(--surface-raised);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}
.secondary:not(:disabled):not([aria-disabled="true"]):hover{background:var(--accent-tint);border-color:var(--accent-line)}
.ghost{color:var(--accent-ink);background:transparent;padding:7px 12px;font-size:var(--fs-sm);border-radius:12px}
.ghost:not(:disabled):not([aria-disabled="true"]):hover{background:var(--accent-tint)}
.on-sky{color:#fff;border-color:rgba(255,255,255,.28);padding:7px 14px;font-size:var(--fs-sm);border-radius:999px}
.on-sky:not(:disabled):not([aria-disabled="true"]):hover{background:rgba(24,14,80,.48)}
.button .icon,button .icon{width:1.1em;height:1.1em}

/* ── forms ───────────────────────────────────────────── */
input:not([type=checkbox]):not([type=range]),textarea,select{width:100%;min-width:0;background:var(--input-bg);color:var(--ink);border:1.5px solid var(--field-line);border-radius:13px;padding:10px 13px;line-height:1.5}
input:not([type=checkbox]):not([type=range]):hover,textarea:hover,select:hover,input[type=checkbox].switch:not(:checked):hover{border-color:color-mix(in srgb,var(--accent) 70%,var(--field-line))}
input:not([type=checkbox]):not([type=range]):focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 4.5px var(--accent);outline:none}
[aria-invalid="true"]:not(:focus){border-color:var(--bad-ink)!important;background:color-mix(in srgb,var(--bad-bg) 60%,var(--input-bg))}
input:disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed}
select{appearance:none;-webkit-appearance:none;background-image:var(--chevron);background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px;cursor:pointer;text-overflow:ellipsis}
textarea{resize:vertical}
input[type=checkbox]{accent-color:var(--accent)}
input[type=checkbox].switch{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:54px;height:30px;margin:0;border-radius:999px;background:var(--surface-sunk);border:1.5px solid var(--field-line);cursor:pointer;box-shadow:inset 0 1px 3px rgba(46,40,86,.12)}
input[type=checkbox].switch::before{content:"";position:absolute;top:2.5px;left:2.5px;width:22px;height:22px;border-radius:50%;background:var(--switch-knob) center/0 no-repeat;box-shadow:0 1px 3px rgba(46,40,86,.35),0 0 0 1px rgba(46,40,86,.08)}
:root[data-theme="dark"] input[type=checkbox].switch::before{box-shadow:0 1px 3px rgba(0,0,0,.55)}
input[type=checkbox].switch:checked{background:linear-gradient(135deg,var(--primary-1),var(--primary-2));border-color:transparent}
input[type=checkbox].switch:checked::before{transform:translateX(24px);background-color:#fff;background-image:var(--switch-star);background-size:16px}
input[type=checkbox].switch:disabled{opacity:.5;cursor:not-allowed}

/* ── small parts ─────────────────────────────────────── */
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:1px 10px;font-size:var(--fs-xs);line-height:1.75;font-weight:700;border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);max-width:100%;overflow-wrap:anywhere}
.badge .icon{width:12px;height:12px}
.badge.tone-ok{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-ink)}
.badge.tone-wait{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-ink)}
.badge.tone-bad{background:var(--bad-bg);border-color:var(--bad-line);color:var(--bad-ink)}
.badge.tone-info{background:var(--info-bg);border-color:var(--info-line);color:var(--info-ink)}
.badge.tone-night{background:var(--night-bg);border-color:var(--night-line);color:var(--night-ink)}
.badge.tone-accent{background:var(--accent-tint);border-color:var(--accent-line);color:var(--accent-ink)}
.badge.tone-gold{background:var(--gold-tint);border-color:var(--warn-line);color:var(--gold-ink)}
.toast{position:fixed;z-index:30;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));width:min(560px,calc(100% - 32px));display:flex;align-items:flex-start;gap:12px;padding:13px 12px 13px 16px;border-radius:18px;background:var(--surface-raised);color:var(--ink);border:1px solid var(--ok-line);box-shadow:var(--rim),var(--shadow),0 0 0 1px var(--glass-line);font-size:var(--fs-sm);transform:translateX(-50%)}
.toast-icon{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ok-bg);color:var(--ok-ink)}
.toast-icon .icon{width:16px;height:16px}
.toast-icon .if-error{display:none}
.toast.error{border-color:var(--bad-line)}
.toast.error .toast-icon{background:var(--bad-bg);color:var(--bad-ink)}
.toast.error .if-ok{display:none}
.toast.error .if-error{display:block}
.toast p{flex:1;padding-top:3px;overflow-wrap:anywhere;line-height:1.7}
.toast-close{flex:none;width:36px;height:36px;margin:-4px -2px -4px 0;padding:0;border-radius:12px;background:transparent;color:var(--muted)}
.toast-close:hover{background:var(--surface-soft);color:var(--ink)}
.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:34px 22px;border:1.5px dashed var(--dash);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--muted);font-size:var(--fs-sm)}
.empty-state::before{content:"";width:46px;height:46px;background:var(--accent-line);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M20 9Q23.4 22.6 37 26Q23.4 29.4 20 43Q16.6 29.4 3 26Q16.6 22.6 20 9Z'/%3E%3Cpath d='M39 3Q40.5 7.5 45 9Q40.5 10.5 39 15Q37.5 10.5 33 9Q37.5 7.5 39 3Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M20 9Q23.4 22.6 37 26Q23.4 29.4 20 43Q16.6 29.4 3 26Q16.6 22.6 20 9Z'/%3E%3Cpath d='M39 3Q40.5 7.5 45 9Q40.5 10.5 39 15Q37.5 10.5 33 9Q37.5 7.5 39 3Z'/%3E%3C/svg%3E") center/contain no-repeat}
.empty-state[data-state="loading"]::before{background:var(--gold)}
.empty-state[data-state="error"]{border-color:var(--bad-line);background:color-mix(in srgb,var(--bad-bg) 80%,transparent);color:var(--bad-ink)}
.empty-state[data-state="error"]::before{background:var(--bad-ink);opacity:.6}
.empty-state[data-state="empty"]{color:var(--ink-soft)}
.empty-state .hint{font-size:var(--fs-xs);color:var(--muted)}
[data-scroll-strip][data-more]::after{content:"";position:sticky;right:-5px;flex:none;width:34px;margin:-5px -5px -5px -34px;border-radius:0 999px 999px 0;background:linear-gradient(90deg,transparent,var(--surface) 75%);pointer-events:none}
@media (max-height:600px){body:has(.welcome:not([hidden])) .toast{top:calc(10px + env(safe-area-inset-top));bottom:auto}}
.info-note{display:flex;gap:14px;align-items:flex-start;padding:16px 20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--rim),var(--shadow-sm)}
.info-note .section-icon{width:34px;height:34px;border-radius:12px;background:var(--info-bg);color:var(--info-ink)}
.info-note .section-icon .icon{width:18px;height:18px}
.info-note h2,.info-note h3,.info-title{font-size:var(--fs-sm);font-weight:700;color:var(--info-ink);margin-bottom:2px;letter-spacing:.06em}
.info-note p:not(.info-title){font-size:var(--fs-sm);line-height:1.85;color:var(--ink-soft)}

/* ── questions: a small ticket instead of the browser's confirm() ── */
.ticket-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100% - 32px);padding:0;border:0;border-radius:24px;background:var(--surface);color:var(--ink);box-shadow:var(--rim),var(--shadow),0 0 0 1px var(--line);text-align:left;overflow:auto}
.ticket-dialog::backdrop{background:rgba(14,10,48,.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.ask-band{--tone:var(--accent);--tone-tint:var(--accent-tint);--tone-ink:var(--accent-ink);display:flex;align-items:center;gap:12px;margin:0;padding:16px 22px 14px;border-radius:24px 24px 0 0;background:linear-gradient(180deg,var(--tone-tint),color-mix(in srgb,var(--tone-tint) 45%,var(--surface)));border-bottom:1.5px solid color-mix(in srgb,var(--tone) 40%,transparent);color:var(--tone-ink);font-size:var(--fs-base);font-weight:700;letter-spacing:.06em}
.ticket-dialog.tone-danger .ask-band{--tone:var(--bad-ink);--tone-tint:var(--bad-bg);--tone-ink:var(--bad-ink)}
.ask-band .band-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--surface);color:var(--tone);box-shadow:0 2px 8px color-mix(in srgb,var(--tone) 30%,transparent),inset 0 0 0 2px color-mix(in srgb,var(--tone) 22%,transparent)}
.ask-band .band-icon .icon{width:19px;height:19px}
.ask-quote{margin:18px 22px 4px;padding:12px 16px;border-radius:14px;background:var(--surface-soft);border:1.5px dashed var(--dash);font-size:var(--fs-base);line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;max-height:40vh;overflow:auto}
.ask-note{margin:14px 22px 0;color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.85}
.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:20px 22px 22px}
.danger{color:#fff;background:var(--bad-ink);border-color:transparent;box-shadow:0 6px 16px color-mix(in srgb,var(--bad-ink) 30%,transparent)}
.danger:hover{filter:brightness(1.08)}
:root[data-theme="dark"] .danger{color:#2a0d16;background:var(--bad-ink)}

/* ── first screens: loading, login and errors ───────── */
main:has(.welcome:not([hidden])){display:flex;flex-direction:column}
main:has(.welcome:not([hidden])) .hero{flex:1 0 auto;display:flex;flex-direction:column;padding-bottom:40px}
main:has(.welcome:not([hidden])) .hero-sky{background:var(--sky-tall);-webkit-mask:linear-gradient(#000 calc(100% - 180px),transparent);mask:linear-gradient(#000 calc(100% - 180px),transparent)}
main:has(.sky-card:not([hidden])) .hero-sky{background:var(--sky-calm);-webkit-mask:linear-gradient(#000 calc(100% - 120px),transparent);mask:linear-gradient(#000 calc(100% - 120px),transparent)}
@media (max-height:600px){main:has(.sky-card:not([hidden])) .hero-sky{-webkit-mask:linear-gradient(#000 calc(100% - 36px),transparent);mask:linear-gradient(#000 calc(100% - 36px),transparent)}}
main:has(.welcome:not([hidden])) .hero-body{flex:1;display:flex;align-items:center;justify-content:center}
main:has(.welcome:not([hidden])) .hero-charm{display:none}
body:has(.welcome:not([hidden])) .site-footer{margin-top:0}
.hero-body{max-width:1120px;margin:0 auto;padding:6px 32px 0;width:100%}
.welcome{width:100%;max-width:520px;margin:12px auto 32px;text-align:center}
.sky-card{color:#fff}
.sky-card h1{font-size:min(1.6rem,7.4vw);text-shadow:0 2px 12px rgba(20,10,70,.35)}
.sky-card p{color:#fff}
.sky-card h1+p{margin-top:8px}
.sky-card .eyebrow{justify-content:center;color:var(--gold-light)}
.sky-card .error-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.loader{display:block;width:150px;height:96px;margin:0 auto 18px;color:#fff;overflow:visible}
.loader path.trail{fill:none;stroke:rgba(255,255,255,.7);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:4 7}
.loader .loader-star{fill:var(--gold-light)}
.sky-card .loader.is-error .loader-star{fill:var(--ribbon-light)}
.hanging{transform-origin:50% 0}
.hang{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:40px;height:96px;margin:0 auto -17px}
.hang .cord{position:absolute;left:50%;bottom:20px;width:4px;height:min(60vh,520px);margin-left:-2px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--ribbon-deep),var(--ribbon-light) 55%,var(--ribbon));-webkit-mask:linear-gradient(transparent,#000 45%);mask:linear-gradient(transparent,#000 45%)}
.hang .bead{position:absolute;top:34px;left:50%;width:30px;height:30px;margin-left:-15px;color:var(--gold);filter:drop-shadow(0 0 10px rgba(255,214,107,.85))}
.hang .eyelet{position:absolute;bottom:0;left:50%;width:26px;height:26px;margin-left:-13px;border-radius:50%;border:5px solid var(--gold);background:var(--accent-tint);box-shadow:0 2px 5px rgba(46,40,86,.3),inset 0 1px 3px rgba(46,40,86,.35)}
.ticket{filter:var(--shadow-drop);text-align:center}
.ticket-main{position:relative;background:var(--surface);border-radius:28px 28px 0 0;padding:0 0 30px;box-shadow:var(--rim);-webkit-mask:radial-gradient(circle 13px at 0 100%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% 100%,#0000 97%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 13px at 0 100%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% 100%,#0000 97%,#000) right/51% 100% no-repeat}
.ticket-band{display:flex;align-items:center;justify-content:center;gap:12px;margin:0;padding:24px 20px 14px;border-radius:28px 28px 0 0;background:linear-gradient(180deg,var(--k-preference-tint),color-mix(in srgb,var(--k-preference-tint) 45%,var(--surface)));border-bottom:1.5px solid color-mix(in srgb,var(--k-preference) 40%,transparent);color:var(--k-preference-ink);font-size:var(--fs-md);letter-spacing:.14em;font-weight:700}
.ticket-band .band-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--surface);color:var(--k-preference);box-shadow:0 2px 8px color-mix(in srgb,var(--k-preference) 35%,transparent),inset 0 0 0 2px color-mix(in srgb,var(--k-preference) 22%,transparent);--cut:var(--surface)}
.ticket-band .band-icon .icon{width:21px;height:21px}
.ticket.kind-promise .ticket-band{background:linear-gradient(180deg,var(--k-promise-tint),color-mix(in srgb,var(--k-promise-tint) 45%,var(--surface)));border-bottom-color:color-mix(in srgb,var(--k-promise) 40%,transparent);color:var(--k-promise-ink)}
.ticket.kind-promise .band-icon{color:var(--k-promise);box-shadow:0 2px 8px color-mix(in srgb,var(--k-promise) 35%,transparent),inset 0 0 0 2px color-mix(in srgb,var(--k-promise) 22%,transparent)}
.ticket-main h1{font-size:1.9rem;margin:28px 24px 0;color:var(--ink)}
.ticket .intro{margin:14px 28px 26px;color:var(--ink-soft);font-size:var(--fs-base);line-height:2}
.login-button{padding:14px 30px;font-size:var(--fs-base);border-radius:16px}
.ticket-stub{background:var(--surface-soft);border-top:2px dashed var(--dash);border-radius:0 0 28px 28px;padding:16px 26px 18px;color:var(--muted);font-size:var(--fs-sm);-webkit-mask:radial-gradient(circle 13px at 0 0,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% 0,#0000 97%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 13px at 0 0,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% 0,#0000 97%,#000) right/51% 100% no-repeat}
.ticket-stub .icon{color:var(--accent);margin-right:4px}

/* ── page heading on the sky ─────────────────────────── */
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:10px 0 4px}
.page-heading .eyebrow{color:var(--gold-light)}
.page-heading h1{color:#fff;text-shadow:0 2px 16px rgba(24,12,90,.35)}
.page-heading .lead{color:#fff;margin-top:6px;font-size:var(--fs-base);text-shadow:0 1px 8px rgba(24,12,90,.35)}
.page-body{position:relative;max-width:1120px;margin:-76px auto 0;padding:0 32px}

/* ── panels ──────────────────────────────────────────── */
.panel{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--rim),var(--shadow),var(--ring)}
.section-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:14px;background:var(--accent-tint);color:var(--accent);--cut:var(--accent-tint)}
.section-icon .icon{width:21px;height:21px}
:root[data-theme="dark"] .ticket-band{background:linear-gradient(180deg,color-mix(in srgb,var(--k-preference) 22%,var(--surface)),color-mix(in srgb,var(--k-preference) 8%,var(--surface)))}
:root[data-theme="dark"] .ticket.kind-promise .ticket-band{background:linear-gradient(180deg,color-mix(in srgb,var(--k-promise) 22%,var(--surface)),color-mix(in srgb,var(--k-promise) 8%,var(--surface)))}
:root[data-theme="dark"] .ticket-band .band-icon{--disc:color-mix(in srgb,var(--k-preference) 20%,#1d1a45);background:var(--disc);--cut:var(--disc);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--k-preference) 45%,transparent),0 0 18px color-mix(in srgb,var(--k-preference) 38%,transparent)}
:root[data-theme="dark"] .ticket.kind-promise .band-icon{--disc:color-mix(in srgb,var(--k-promise) 20%,#1d1a45);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--k-promise) 45%,transparent),0 0 18px color-mix(in srgb,var(--k-promise) 38%,transparent)}

/* ── footer ──────────────────────────────────────────── */
.site-footer{max-width:1120px;width:100%;margin:40px auto 0;padding:22px 32px 30px;display:flex;align-items:center;gap:14px;color:var(--muted);font-size:var(--fs-xs);letter-spacing:.16em}
.site-footer::before{content:"";flex:1;height:8px;background:radial-gradient(circle,var(--dash) 1.2px,transparent 1.6px) 0 50%/10px 8px repeat-x;order:2}
.site-footer .signature{order:3;display:inline-flex;align-items:center;gap:6px;letter-spacing:.14em}
.site-footer .signature .icon{color:var(--gold);width:12px;height:12px}
.site-footer span{letter-spacing:.08em}

@media (max-width:1300px){.hero-charm{display:none}}
@media (max-width:1023px){.shooting-star{display:none}}
@media (max-width:720px){
  :root{--sky:radial-gradient(ellipse 34% 60% at 90% 125%,rgba(242,180,214,.5),transparent 70%),radial-gradient(ellipse 40% 60% at 4% 125%,rgba(160,226,214,.35),transparent 70%),
    linear-gradient(180deg,#564bb9 0,#564bb9 calc(var(--lift) - 60px),#6458c4 calc(var(--lift) + 120px),#6c5fc8 calc(var(--lift) + 230px),#8a78d3 calc(100% - 50px),#a48bdb 100%)}
  .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:16px 18px;gap:12px 10px;reading-flow:grid-rows}
  .header-tools{display:contents}
  .theme-switch{grid-column:2;grid-row:1}
  .account{grid-column:1/-1;grid-row:2;flex-wrap:wrap}
  .account-chip{flex:1 1 7.5em;max-width:max-content}
  .account>.button,.account>button{flex:none}
  .on-sky{padding:7px 12px;min-height:38px}
  .theme-switch button,.theme-thumb{width:38px;height:34px}
  :root[data-theme-mode="light"] .theme-thumb{transform:translateX(38px)}
  :root[data-theme-mode="dark"] .theme-thumb{transform:translateX(76px)}
  .hero-body{padding:0 18px}
  .brand-mark{width:38px;height:38px}
  h1{font-size:1.7rem}
  .sky-constellation{display:none}
  .page-heading{flex-direction:column;align-items:flex-start;gap:12px}
  .page-heading .lead{font-size:var(--fs-md)}
  .page-body{padding:0 16px;margin-top:-80px}
  .ticket-main h1{font-size:1.55rem}
  .ticket .intro{margin:12px 20px 22px;font-size:var(--fs-md)}
  .ghost{min-height:38px}
  .site-footer{padding:18px 18px 26px}
}
@media (max-width:340px){
  .site-footer{flex-direction:column;gap:4px;text-align:center}
  .site-footer::before{display:none}
}
@media (max-width:420px){
  .brand-text small{display:none}
  .header-tools{gap:6px}
  .account>.button{padding:7px 10px}
  .account>.button .label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media (max-height:520px){
  .site-header{padding-top:10px;padding-bottom:10px}
  .welcome{margin:0 auto 16px}
  .hang{height:56px}
  .hang .bead{top:8px}
  .ticket-band{padding:14px 20px 8px}
  .ticket-main h1{margin-top:12px}
  .ticket .intro{margin:8px 24px 14px}
  .ticket-main{padding-bottom:22px}
}

/* ── motion (only when the device allows it) ────────── */
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  .theme-shift,.theme-shift *,.theme-shift *::before,.theme-shift *::after{transition:background-color .5s var(--ease),border-color .5s var(--ease),color .5s var(--ease),fill .5s,box-shadow .5s!important}
  .theme-thumb,.theme-shift .theme-thumb{transition:transform .45s var(--spring),background .4s!important}
  ::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
  .theme-turning::view-transition-new(root){animation:night-fall .55s cubic-bezier(.4,0,.2,1)}
  .theme-turning *:not(.theme-thumb),.theme-turning *::before,.theme-turning *::after{transition:none!important}
  .theme-switch button[aria-pressed="true"] .icon{animation:pop .5s var(--spring)}
  button,.button{transition:background-color .2s,border-color .2s,color .2s,box-shadow .25s,transform .2s var(--ease),filter .2s}
  button:not(:disabled):not([aria-disabled="true"]):active,.button:active{transform:translateY(1px) scale(.98)}
  .primary{transition:box-shadow .25s,transform .2s var(--ease),filter .2s}
  .primary::after{transition:left .7s var(--ease),opacity .2s}
  .ticket-dialog[open]{animation:rise .35s var(--ease)}
  input,textarea,select{transition:border-color .2s,box-shadow .2s,background-color .2s}
  input[type=checkbox].switch,input[type=checkbox].switch::before{transition:transform .35s var(--spring),background-color .25s,border-color .25s}
  .starfield::after{animation:twinkle 6s ease-in-out infinite alternate}
  .sky-stars::after{animation:twinkle 5s ease-in-out infinite alternate}
  .sky-stars::before{animation:twinkle 5s ease-in-out -2.5s infinite alternate}
  .sky-constellation .tw{transform-box:fill-box;transform-origin:center;animation:glint 3.4s ease-in-out infinite}
  .sky-constellation .tw:nth-of-type(2){animation-delay:-.6s}.sky-constellation .tw:nth-of-type(3){animation-delay:-1.3s}
  .sky-constellation .tw:nth-of-type(4){animation-delay:-2s}.sky-constellation .tw:nth-of-type(5){animation-delay:-2.6s}.sky-constellation .tw:nth-of-type(6){animation-delay:-.3s}
  .shooting-star{animation:shoot 9s ease-in 2.4s infinite}
  .shooting-star.late{top:calc(var(--lift) + 40px);left:calc(50% + 330px);width:90px;animation-duration:13s;animation-delay:7s}
  .hero-charm{animation:sway 5.5s ease-in-out infinite}
  .charm-bead{animation:glint 3.2s ease-in-out infinite}
  .hanging{animation:settle 2.6s cubic-bezier(.3,.6,.3,1) .2s backwards}
  .hang .bead{animation:glint 3.2s ease-in-out infinite}
  .toast:not([hidden]){animation:toast-in .45s var(--spring)}
  .loader path.trail{animation:trail 1.6s linear infinite}
  .loader .loader-star{animation:glint 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
  .loader .loader-star:nth-of-type(2){animation-delay:.25s}.loader .loader-star:nth-of-type(3){animation-delay:.5s}.loader .loader-star:nth-of-type(4){animation-delay:.75s}
  .empty-state[data-state="loading"]::before{animation:glint 1.4s ease-in-out infinite}
  .rise{animation:rise .6s var(--ease) backwards;animation-delay:calc(var(--i,0) * 55ms)}
  .welcome:not([hidden]){animation:rise .7s var(--ease) backwards}
  @keyframes twinkle{0%{opacity:.6}50%{opacity:1}100%{opacity:.75}}
  @keyframes shoot{0%{opacity:0;transform:translate(0,0) rotate(-24deg)}3%{opacity:1}12%{opacity:0;transform:translate(-300px,135px) rotate(-24deg)}100%{opacity:0;transform:translate(-300px,135px) rotate(-24deg)}}
  @keyframes sway{0%,100%{transform:rotate(-2.2deg)}50%{transform:rotate(2.2deg)}}
  @keyframes settle{0%{transform:rotate(-2.4deg)}22%{transform:rotate(1.6deg)}44%{transform:rotate(-.9deg)}66%{transform:rotate(.4deg)}84%{transform:rotate(-.15deg)}100%{transform:none}}
  @keyframes glint{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.14);opacity:.8}}
  @keyframes pop{0%{transform:scale(.6) rotate(-30deg)}100%{transform:scale(1) rotate(0)}}
  @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes toast-in{from{opacity:0;transform:translate(-50%,14px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
  @keyframes trail{to{stroke-dashoffset:-22}}
  @keyframes night-fall{from{clip-path:circle(0 at var(--turn-x,50%) var(--turn-y,0))}to{clip-path:circle(var(--turn-r,150vmax) at var(--turn-x,50%) var(--turn-y,0))}}
  @media (max-height:600px){body:has(.welcome:not([hidden])) .toast:not([hidden]){animation-name:toast-down}}
  @keyframes toast-down{from{opacity:0;transform:translate(-50%,-14px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
  @supports (interpolate-size:allow-keywords){
    :root{interpolate-size:allow-keywords}
    details::details-content{block-size:0;overflow-y:clip;transition:block-size .4s var(--ease),content-visibility .4s allow-discrete}
    details[open]::details-content{block-size:auto}
    details.no-anim::details-content{transition:none!important}
  }
}

html{scroll-padding-top:76px;scroll-padding-bottom:calc(var(--toast-h,0px) + 16px)}

/* page menu */
.section-nav{position:sticky;top:12px;z-index:10;display:flex;gap:4px;width:max-content;max-width:100%;margin:0 auto 28px;padding:5px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--shadow);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4)}
.section-nav a{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 17px;border-radius:999px;font-size:var(--fs-sm);font-weight:700;color:var(--ink-soft);white-space:nowrap;--cut:var(--surface)}
.section-nav a .icon{color:var(--accent)}
.section-nav a:hover{background:var(--accent-tint);color:var(--accent-ink);--cut:var(--accent-tint)}
.section-nav a[aria-current]{background:linear-gradient(135deg,var(--primary-1),var(--primary-2));color:#fff;box-shadow:0 4px 12px var(--primary-glow);--cut:var(--primary-2)}
.section-nav a[aria-current] .icon{color:#fff}

/* admin: whose records */
.user-switcher{display:flex;align-items:center;gap:16px;padding:18px 22px;margin-bottom:22px;border:1.5px dashed var(--accent-line);background:color-mix(in srgb,var(--surface) 88%,var(--accent-tint))}
.switcher-copy{flex:1;min-width:0}
.switcher-copy label{font-weight:700;font-size:var(--fs-md)}
.user-select{width:min(360px,46%)}
.user-select p:not(:empty){margin-top:6px}
.target-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:0 2px 26px}
.target-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 16px 7px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);min-width:0}
.target-chip .icon{color:var(--gold);width:17px;height:17px}
.target-chip strong{font-size:var(--fs-md);overflow-wrap:anywhere}
.target-heading.is-other .target-chip{background:var(--gold-tint);border-color:var(--warn-line);color:var(--gold-ink)}
.target-heading>span:last-child{overflow-wrap:anywhere;font-size:var(--fs-xs)}

/* sections */
.dashboard-section{margin-bottom:54px}
.section-heading{display:flex;align-items:center;gap:14px;margin:0 2px 20px}
.section-copy{flex:1;min-width:0}
.section-copy h2{font-size:var(--fs-xl)}
.section-copy p{margin-top:2px}
.section-heading .ghost{flex:none}
#memories-section .section-heading .section-icon{background:var(--k-preference-tint);color:var(--k-preference);--cut:var(--k-preference-tint)}
#account-section .section-heading .section-icon{background:var(--k-knowledge-tint);color:var(--k-knowledge);--cut:var(--k-knowledge-tint)}

/* conversation log: a little constellation of replies */
.activity-list{position:relative;display:grid;gap:22px;padding-left:40px}
.activity-list:empty{display:none}
.activity-list::before{content:"";position:absolute;left:14px;top:26px;bottom:26px;width:2px;background:linear-gradient(var(--accent-line) 45%,transparent 45%) 0 0/2px 9px repeat-y;border-radius:2px}
.activity-card{--node:var(--gold);position:relative;padding:20px 24px 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--rim),var(--shadow),var(--ring);min-width:0}
.activity-card.tone-bad{--node:var(--ribbon-light)}
.activity-card.tone-night{--node:var(--accent)}
.activity-card::before{content:"";position:absolute;left:-39px;top:19px;width:28px;height:28px;background:var(--node);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--node) 70%,transparent));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1Q14.2 9.8 23 12Q14.2 14.2 12 23Q9.8 14.2 1 12Q9.8 9.8 12 1Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1Q14.2 9.8 23 12Q14.2 14.2 12 23Q9.8 14.2 1 12Q9.8 9.8 12 1Z'/%3E%3C/svg%3E") center/contain no-repeat}
.activity-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;margin-bottom:16px}
.card-date,.memory-date{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;font-size:var(--fs-sm);font-weight:500;letter-spacing:.02em;color:var(--muted);font-variant-numeric:tabular-nums;--cut:var(--surface)}
.card-date .icon,.memory-date .icon{color:var(--accent);width:16px;height:16px}
.relative{display:inline-flex;align-items:center;padding:0 9px;border-radius:999px;border:1.5px solid var(--accent-line);color:var(--accent-ink);font-size:var(--fs-xs);font-weight:700;line-height:1.7}
.card-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.elapsed{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;margin-left:4px}
.elapsed .icon{width:14px;height:14px}
.chat{display:grid;gap:12px;margin-bottom:18px}
.bubble{max-width:86%;padding:11px 16px 13px;border-radius:20px;min-width:0}
.bubble.from-user{justify-self:end;background:var(--surface-soft);border:1px solid var(--line);border-bottom-right-radius:6px}
.bubble.from-atia{justify-self:start;background:linear-gradient(140deg,var(--accent-tint),color-mix(in srgb,var(--k-preference-tint) 60%,var(--accent-tint)));border:1px solid var(--accent-line);border-bottom-left-radius:6px}
.bubble.from-atia.is-empty{background:transparent;border:1.5px dashed var(--accent-line);padding:8px 14px 10px}
.bubble.is-empty .speaker-mark{filter:grayscale(1);opacity:.6}
.message-label{display:flex;align-items:center;gap:7px;font-size:var(--fs-xs);font-weight:700;color:var(--muted);margin:0 0 4px;letter-spacing:.06em}
.from-atia .message-label{color:var(--accent-ink)}
.speaker-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:8px 8px 8px 3px;background:linear-gradient(145deg,#6d60c6,#3f3396);color:var(--gold-light);box-shadow:0 2px 6px rgba(63,51,150,.3)}
.speaker-mark .icon{width:13px;height:13px}
.message-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--fs-base);line-height:1.85}
.bubble.is-empty .message-text{color:var(--muted);font-size:var(--fs-sm)}
.response-details{margin:0 -24px;border-top:1.5px dashed var(--dash);border-radius:0 0 var(--radius) var(--radius)}
.response-details>summary{display:flex;align-items:center;gap:8px;padding:13px 24px;font-size:var(--fs-sm);font-weight:700;color:var(--accent-ink);cursor:pointer;list-style:none;border-radius:0 0 var(--radius) var(--radius)}
.response-details>summary::-webkit-details-marker{display:none}
.response-details>summary:hover{background:var(--surface-soft)}
.response-details[open]>summary{border-radius:0;background:var(--surface-soft)}
.response-details .chevron{margin-left:auto;width:18px;height:18px}
.response-details[open] .chevron{transform:rotate(180deg)}
.response-detail-body{padding:16px 24px 24px;background:var(--surface-soft);border-radius:0 0 var(--radius) var(--radius)}
.reference-explainer{font-size:var(--fs-sm);line-height:1.85;color:var(--muted);padding:10px 14px;border-radius:14px;background:var(--surface-raised);border:1px solid var(--line)}
.reference-summary{font-size:var(--fs-sm);margin-top:12px;color:var(--ink-soft);font-weight:700}
.detail-heading{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);margin:20px 0 10px;color:var(--ink-soft)}
.detail-heading::before{content:"";width:12px;height:12px;background:var(--gold);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1Q14.2 9.8 23 12Q14.2 14.2 12 23Q9.8 14.2 1 12Q9.8 9.8 12 1Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1Q14.2 9.8 23 12Q14.2 14.2 12 23Q9.8 14.2 1 12Q9.8 9.8 12 1Z'/%3E%3C/svg%3E") center/contain no-repeat}
.decision-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.decision{padding:9px 13px;border-radius:14px;background:var(--surface-raised);border:1px solid var(--line);min-width:0}
.decision.wide{grid-column:1/-1}
.decision dt{font-size:var(--fs-xs);color:var(--muted)}
.decision dd{margin:1px 0 0;font-size:var(--fs-sm);font-weight:700;overflow-wrap:anywhere}
.reference-list{display:grid;gap:10px}
.reference-card{position:relative;border:1px solid var(--line);border-radius:16px;padding:12px 15px;background:var(--surface-raised);overflow:hidden}
.reference-card.is-selected{border-color:var(--ok-line)}
.reference-card.is-used::after{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}
.reference-meta{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}
.reference-text{font-size:var(--fs-md);line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}

/* memories: little tickets, like the /memory cards */
.memory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 22px}
.memory-list:empty{display:none}
.memory-card{--k:var(--k-other);--k-tint:var(--k-other-tint);--k-ink:var(--k-other-ink);display:flex;flex-direction:column;min-width:0;filter:var(--shadow-drop)}
.kind-preference{--k:var(--k-preference);--k-tint:var(--k-preference-tint);--k-ink:var(--k-preference-ink)}
.kind-fact{--k:var(--k-fact);--k-tint:var(--k-fact-tint);--k-ink:var(--k-fact-ink)}
.kind-episode{--k:var(--k-episode);--k-tint:var(--k-episode-tint);--k-ink:var(--k-episode-ink)}
.kind-promise{--k:var(--k-promise);--k-tint:var(--k-promise-tint);--k-ink:var(--k-promise-ink)}
.kind-knowledge{--k:var(--k-knowledge);--k-tint:var(--k-knowledge-tint);--k-ink:var(--k-knowledge-ink)}
.memory-main{flex:1;display:flex;flex-direction:column;border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;box-shadow:var(--rim);background:
  radial-gradient(circle at 0 100%,transparent 10.6px,var(--line) 11px 12px,transparent 12.4px) left bottom/26px 26px no-repeat border-box,
  radial-gradient(circle at 100% 100%,transparent 10.6px,var(--line) 11px 12px,transparent 12.4px) right bottom/26px 26px no-repeat border-box,var(--surface);-webkit-mask:radial-gradient(circle 11px at 0 100%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 100%,#0000 97%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 11px at 0 100%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 100%,#0000 97%,#000) right/51% 100% no-repeat}
.memory-band{display:flex;align-items:center;gap:10px;padding:11px 16px 11px 12px;border-radius:21px 21px 0 0;background:linear-gradient(180deg,var(--k-tint),color-mix(in srgb,var(--k-tint) 55%,var(--surface)));border-bottom:1.5px solid color-mix(in srgb,var(--k) 40%,transparent)}
.kind-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--surface);color:var(--k);box-shadow:0 2px 8px color-mix(in srgb,var(--k) 35%,transparent),inset 0 0 0 2px color-mix(in srgb,var(--k) 22%,transparent);--cut:var(--surface)}
.kind-icon .icon{width:21px;height:21px}
.kind-label{font-weight:700;font-size:var(--fs-base);color:var(--k-ink);letter-spacing:.1em}
.memory-band .badge{margin-left:auto}
.band-deco{display:flex;gap:2px;margin-left:auto;color:var(--k);opacity:.6}
.band-deco .icon{width:10px;height:10px}
.band-deco .icon:nth-child(2){width:14px;height:14px;margin-top:-6px}
.memory-band .badge+.band-deco{margin-left:6px}
.memory-body{flex:1;display:flex;flex-direction:column;padding:16px 22px 22px}
.memory-date{margin-bottom:10px;--cut:var(--surface)}
.memory-date .icon{color:var(--k)}
.memory-date .date-caption{color:var(--muted);font-size:var(--fs-xs)}
.memory-date .relative{border-color:color-mix(in srgb,var(--k) 55%,transparent);color:var(--k-ink)}
.memory-text{flex:1;font-size:var(--fs-lg);line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
.memory-text.is-short{font-size:var(--fs-xl);line-height:1.7;letter-spacing:.05em}
.memory-delete-status{margin-top:12px;font-size:var(--fs-xs);line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
.memory-delete-status:empty{display:none}
.memory-stub{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;padding:13px 18px 14px 20px;border:1px solid var(--line);border-top:2px dashed var(--dash);border-radius:0 0 22px 22px;background:
  radial-gradient(circle at 0 0,transparent 10.6px,var(--line) 11px 12px,transparent 12.4px) left top/26px 26px no-repeat border-box,
  radial-gradient(circle at 100% 0,transparent 10.6px,var(--line) 11px 12px,transparent 12.4px) right top/26px 26px no-repeat border-box,var(--surface-soft);-webkit-mask:radial-gradient(circle 11px at 0 0,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 0,#0000 97%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 11px at 0 0,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 0,#0000 97%,#000) right/51% 100% no-repeat}
.memory-facts{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.id-pill{display:inline-flex;align-items:stretch;border-radius:10px;overflow:hidden;border:1.5px solid var(--primary-2);font-size:var(--fs-xs);font-weight:700;line-height:1.65;cursor:default}
.id-key{background:var(--primary-2);color:#fff;padding:1px 7px;letter-spacing:.08em}
.id-value{padding:1px 9px;background:var(--surface-raised);color:var(--ink);letter-spacing:.14em;font-variant-numeric:tabular-nums}
.delete-memory{margin-left:auto;padding:6px 12px;font-size:var(--fs-xs);border-radius:11px;background:transparent;border:1.5px solid var(--bad-line);color:var(--bad-ink)}
.delete-memory:not(:disabled):not([aria-disabled="true"]):hover{background:var(--bad-bg)}
.delete-memory.is-neutral{border-color:var(--line-strong);color:var(--accent-ink)}
.delete-memory.is-neutral:not(:disabled):not([aria-disabled="true"]):hover{background:var(--accent-tint);border-color:var(--accent-line)}
.memory-card:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:24px}
#memories-heading:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.delete-memory .icon{width:15px;height:15px}
.load-more{text-align:center;margin-top:26px}
.load-more button{padding:10px 26px}
:root[data-theme="dark"] .kind-icon{--disc:color-mix(in srgb,var(--k) 20%,#1d1a45);background:var(--disc);--cut:var(--disc);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--k) 45%,transparent),0 0 18px color-mix(in srgb,var(--k) 38%,transparent)}
:root[data-theme="dark"] .memory-band{background:linear-gradient(180deg,color-mix(in srgb,var(--k) 22%,var(--surface)),color-mix(in srgb,var(--k) 8%,var(--surface)))}
:root[data-theme="dark"] .memory-date .icon{--cut:var(--surface)}

/* account */
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.account-panel,.conversation-panel{padding:22px 24px 24px;min-width:0}
.panel h3{font-size:var(--fs-sm);color:var(--muted);letter-spacing:.1em}
.profile-head{display:flex;align-items:center;gap:14px;margin:14px 0 18px;min-width:0}
.avatar{position:relative;display:grid;place-items:center;flex:none;width:54px;height:54px;border-radius:19px 19px 19px 6px;background:linear-gradient(145deg,#7d70d6,#3f3396);color:#fff;font-size:var(--fs-xl);font-weight:700;box-shadow:0 8px 18px rgba(63,51,150,.32)}
.avatar::after{content:"";position:absolute;top:-6px;right:-6px;width:18px;height:18px;background:var(--gold);filter:drop-shadow(0 0 4px rgba(255,214,107,.8));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1Q14.2 9.8 23 12Q14.2 14.2 12 23Q9.8 14.2 1 12Q9.8 9.8 12 1Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1Q14.2 9.8 23 12Q14.2 14.2 12 23Q9.8 14.2 1 12Q9.8 9.8 12 1Z'/%3E%3C/svg%3E") center/contain no-repeat}
.profile-name{font-size:var(--fs-xl);font-weight:700;line-height:1.4;overflow-wrap:anywhere;min-width:0}
.account-details{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 16px;margin:0;padding:14px 16px;border-radius:16px;background:var(--surface-soft);border:1px solid var(--line)}
.account-details dt{font-size:var(--fs-xs);color:var(--muted);padding-top:2px}
.account-details dd{margin:0;font-size:var(--fs-sm);overflow-wrap:anywhere}
.expiry-note{display:block;font-size:var(--fs-xs);color:var(--faint);margin-top:2px}
.dm-status{display:inline-flex;align-items:center;gap:9px;margin:16px 0 12px;padding:5px 14px 5px 12px;border-radius:999px;font-size:var(--fs-sm);font-weight:700;background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);max-width:100%}
.dm-status::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--faint)}
.dm-status.available{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok-ink)}
.dm-status.available::before{background:#3fb59a;box-shadow:0 0 0 4px color-mix(in srgb,#3fb59a 22%,transparent)}
.dm-status.resting{background:var(--night-bg);border-color:var(--night-line);color:var(--night-ink)}
.dm-status.resting::before{background:var(--night-ink)}
.dm-status.failed{background:var(--bad-bg);border-color:var(--bad-line);color:var(--bad-ink)}
.dm-status.failed::before{background:var(--bad-ink)}
.conversation-copy{font-size:var(--fs-sm);line-height:1.9;margin-bottom:20px;color:var(--ink-soft)}
.dm-button{width:100%;justify-content:space-between;padding:12px 18px;--cut:var(--primary-1)}
.dm-copy{flex:1;display:flex;flex-direction:column;align-items:flex-start;text-align:left;line-height:1.45}
.link-note{font-size:var(--fs-xs);font-weight:500}
#account-section .info-note{margin-top:22px}

@media (max-width:720px){
  html{scroll-padding-top:72px}
  .section-nav{width:100%;margin-bottom:22px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;scroll-padding-inline:8px}
  .section-nav::-webkit-scrollbar{display:none}
  .section-nav a{flex:1 0 auto;padding:8px 9px;gap:5px;font-size:var(--fs-xs)}
  .section-nav a:focus-visible{outline-offset:-3px}
  .user-switcher{flex-wrap:wrap;padding:16px}
  .user-select{width:100%}
  .section-heading{align-items:flex-start;gap:12px}
  .section-heading .section-icon{margin-top:2px}
  .section-copy h2{font-size:var(--fs-lg)}
  .activity-list{padding-left:26px;gap:18px}
  .activity-list::before{left:8px}
  .activity-card{padding:17px 17px 0}
  .activity-card::before{left:-27px;top:18px;width:20px;height:20px}
  .bubble{max-width:94%}
  .response-details{margin:0 -17px}
  .response-details>summary{padding:12px 17px}
  .response-detail-body{padding:14px 17px 20px}
  .decision-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .memory-list,.profile-grid{grid-template-columns:1fr}
  .memory-body{padding:14px 18px 20px}
  .memory-stub{padding:12px 14px 13px 16px}
  .delete-memory{min-height:36px}
  .account-details{grid-template-columns:1fr;gap:2px}
  .account-details dd{margin-bottom:8px}
}
@media (max-width:420px){
  .section-heading .ghost{padding:9px;min-width:38px}
  .section-heading .ghost .label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .section-heading .ghost .icon{width:18px;height:18px}
}
@media (max-width:420px){
  .dashboard-section:has(>.empty-state[data-state="error"]) .section-heading .ghost{padding:7px 10px}
  .dashboard-section:has(>.empty-state[data-state="error"]) .section-heading .ghost .label{position:static;width:auto;height:auto;overflow:visible;clip:auto}
}
@media (max-width:380px){
  .section-nav a .icon{display:none}
}
@media (max-width:360px){
  .decision-list{grid-template-columns:1fr}
}
@media (max-height:300px){
  .section-nav{position:static}
  html{scroll-padding-top:16px}
}
@media (prefers-reduced-motion:no-preference){
  .section-nav a{transition:background-color .25s,color .2s,box-shadow .25s}
  .activity-card,.memory-card{transition:transform .35s var(--ease)}
  .activity-card:hover{transform:translateY(-2px)}
  .memory-card:hover{transform:translateY(-4px) rotate(-.4deg)}
  .memory-card:nth-child(even):hover{transform:translateY(-4px) rotate(.4deg)}
  .memory-card:hover .band-deco .icon{animation:glint 1.6s ease-in-out infinite}
  .memory-card:hover .band-deco .icon:nth-child(2){animation-delay:.2s}
  .memory-card:hover .band-deco .icon:nth-child(3){animation-delay:.4s}
  .response-details .chevron{transition:transform .35s var(--spring)}
  .activity-card::before{animation:glint 3.6s ease-in-out infinite}
  .dm-status.available::before{animation:beacon 2.4s ease-out infinite}
  .memory-card.is-pending{animation:breathe 1.8s ease-in-out infinite}
  .memory-card.forgotten{animation:stardust .65s var(--ease) forwards;pointer-events:none}
  @keyframes beacon{0%{box-shadow:0 0 0 0 color-mix(in srgb,#3fb59a 45%,transparent)}100%{box-shadow:0 0 0 9px transparent}}
  @keyframes breathe{50%{opacity:.72}}
  @keyframes stardust{from{filter:var(--shadow-drop) blur(0) saturate(1)}to{opacity:0;transform:translateY(-10px) scale(.94);filter:drop-shadow(0 0 0 transparent) drop-shadow(0 0 0 transparent) blur(5px) saturate(1.6)}}
}
