:root{
  color-scheme:dark;
  --night:#07090d;
  --night-soft:#0e1118;
  --ivory:#f2eee5;
  --mist:#a9acb5;
  --line:rgba(255,255,255,.12);
  --gold:#c9aa66;
  --gold-bright:#f0d697;
  --glass:rgba(13,16,23,.78);
  --sans:"Jost","Noto Sans","Noto Sans KR","Noto Sans JP",sans-serif;
  --jp:"Noto Sans JP","Noto Sans KR","Noto Sans",sans-serif;
  --display:"Cinzel",serif;
  --serif:"Cormorant Garamond",serif;
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--night);color:var(--ivory)}
body{font-family:var(--jp);font-weight:300}
button,select,input{font:inherit}
button,a,select{touch-action:manipulation}
.observatory{position:relative;width:100%;height:100%;height:100dvh;isolation:isolate;background:
  radial-gradient(circle at 50% 47%,rgba(41,49,67,.19),transparent 42%),
  linear-gradient(145deg,#090b10,#050609 72%)}
#lumenCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none;z-index:1}
#lumenCanvas:active{cursor:grabbing}
.veil{position:absolute;inset:0;z-index:2;pointer-events:none;background:
  linear-gradient(180deg,rgba(5,6,9,.72),transparent 17%,transparent 78%,rgba(5,6,9,.73)),
  radial-gradient(ellipse at center,transparent 45%,rgba(2,3,6,.42) 100%)}
.veil:after{content:"";position:absolute;inset:0;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}
.masthead{position:absolute;z-index:5;left:0;right:0;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:max(22px,env(safe-area-inset-top)) 30px 0;pointer-events:none}
.masthead>*{pointer-events:auto}
.back-link{justify-self:start;display:flex;align-items:center;gap:10px;color:#c6c4c0;text-decoration:none;font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:10px 0;transition:color .25s ease}
.back-link span:first-child{font-size:17px;line-height:0;transition:transform .25s ease}
.back-link:hover{color:#fff}.back-link:hover span:first-child{transform:translateX(-3px)}
.identity{text-align:center;min-width:310px}
.identity p{margin:0 0 7px;color:var(--gold);font:400 8px/1 var(--sans);letter-spacing:.38em}
.identity h1{margin:0;color:#f6f2e9;font:500 clamp(17px,1.55vw,24px)/1.15 var(--display);letter-spacing:.16em;text-shadow:0 0 26px rgba(240,214,151,.13)}
.identity>span{display:block;margin-top:5px;color:#a7a5a0;font-size:9px;letter-spacing:.24em}
.icon-button{justify-self:end;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:rgba(11,14,20,.35);color:#d8d5cc;display:grid;place-items:center;cursor:pointer;transition:.25s ease}
.icon-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4}
.icon-button:hover{border-color:rgba(240,214,151,.5);color:var(--gold-bright);background:rgba(30,30,27,.6)}
.masthead-actions{justify-self:end;display:flex;align-items:center;gap:8px}
.lumen-language{position:relative}.lumen-language summary{list-style:none;min-width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:rgba(11,14,20,.35);color:#c9c7c1;font:500 8px var(--sans);letter-spacing:.08em;cursor:pointer}.lumen-language summary::-webkit-details-marker{display:none}.lumen-language[open] summary{border-color:rgba(240,214,151,.45);color:var(--gold-bright)}.lumen-language nav{position:absolute;top:45px;right:0;display:grid;grid-template-columns:repeat(2,42px);padding:6px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:rgba(10,12,17,.96);box-shadow:0 18px 45px rgba(0,0,0,.45);backdrop-filter:blur(18px)}.lumen-language a{padding:7px 5px;border-radius:4px;color:#94979e;text-align:center;text-decoration:none;font:500 8px var(--sans)}.lumen-language a:hover,.lumen-language a[aria-current=page]{background:rgba(201,170,102,.1);color:#ead9ad}
.control-deck{position:absolute;z-index:6;left:30px;top:104px;width:248px;padding:10px 14px 14px;background:rgba(9,11,16,.62);border:1px solid rgba(255,255,255,.08);border-radius:8px;backdrop-filter:blur(18px);box-shadow:0 18px 55px rgba(0,0,0,.2);transition:width .25s ease,padding .25s ease}
.control-deck-body{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.deck-toggle{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;width:100%;border:0;padding:3px 0;background:transparent;text-align:left;cursor:pointer}.deck-toggle span{color:#8d8063;font:400 6px var(--sans);letter-spacing:.18em}.deck-toggle b{color:#b9b7b0;font:400 8px var(--jp)}.deck-toggle i{color:#908a7b;font:400 12px var(--sans);font-style:normal}.control-deck.is-collapsed{width:112px;padding-bottom:10px}.control-deck.is-collapsed .control-deck-body{display:none}
.mode-switch{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--line);border-radius:999px;padding:3px}
.mode-option{appearance:none;border:0;border-radius:999px;background:transparent;color:#8f929a;text-decoration:none;text-align:center;padding:7px 8px;font:400 10px/1 var(--jp);letter-spacing:.08em;cursor:pointer}
.mode-option.is-active{background:rgba(236,224,195,.12);color:#f1eadc;box-shadow:inset 0 0 0 1px rgba(240,214,151,.12)}
.mode-option.is-locked{display:flex;align-items:center;justify-content:center;gap:4px;color:#797b82}.mode-option.is-locked i{color:#b89b5c;font:400 8px/1 var(--serif);font-style:normal}.mode-option.is-locked:hover{color:#d8cab0;background:rgba(201,170,102,.055)}
.source-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px}.source-switch a{padding:6px 4px;border-bottom:1px solid rgba(255,255,255,.08);color:#727680;text-align:center;text-decoration:none;font:400 7px var(--jp)}.source-switch a.is-active{border-color:#c9aa66;color:#d9c898}.standard-pickers{display:grid;grid-template-columns:1fr;gap:5px}.standard-pickers label{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:5px}.standard-pickers label span{color:#777c86;font:400 6px var(--sans);letter-spacing:.14em}.standard-pickers select{min-width:0;width:100%;height:29px;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:0 5px;background:#10131a;color:#ddd8cf;font:400 8px var(--jp)}.standard-pickers>i{display:none}
.person-picker{display:block}.person-picker>span{display:block;color:#8e919a;font:400 8px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:0 0 7px 3px}
.person-picker select{width:100%;appearance:none;border:1px solid var(--line);border-radius:5px;color:#e3e0d8;background:#11141b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23b8a978'/%3E%3C/svg%3E") no-repeat calc(100% - 12px) 50%;font-size:11px;padding:10px 32px 10px 10px;outline:none}
.person-picker select:focus{border-color:rgba(240,214,151,.5);box-shadow:0 0 0 2px rgba(201,170,102,.1)}
.pair-access-note{margin:-5px 2px 0;color:#777b84;font:400 7.5px/1.65 var(--jp)}.pair-access-note a{color:#b9a575;text-decoration:none;border-bottom:1px solid rgba(185,165,117,.32)}.pair-access-note a:hover{color:#ead8aa;border-color:#c9aa66}
.view-actions{display:grid;grid-template-columns:35px 1fr 35px;gap:6px}.view-actions button{min-height:34px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);color:#b7b8bb;border-radius:4px;cursor:pointer;font:400 10px var(--jp)}
.view-actions button:first-child,.view-actions button:last-child{font-size:18px;font-weight:300}.view-actions button:hover{color:#fff;border-color:rgba(255,255,255,.22)}
.performance-note{padding:10px 11px;border:1px solid rgba(201,170,102,.13);border-left-color:rgba(201,170,102,.5);border-radius:5px;background:rgba(201,170,102,.035)}.performance-note b{display:block;color:#d7c28d;font:500 8px/1.4 var(--jp)}.performance-note p{margin:5px 0 6px;color:#8f9299;font:400 8px/1.65 var(--jp)}.performance-note button{border:0;border-bottom:1px solid rgba(201,170,102,.28);padding:1px 0;background:transparent;color:#aaa17f;font:400 7px/1.5 var(--jp);cursor:pointer}.performance-note button:hover{color:#ead8aa;border-color:#c9aa66}
.person-labels{position:absolute;z-index:4;left:25%;right:25%;top:112px;display:flex;justify-content:space-between;pointer-events:none}
.person-label{display:flex;gap:10px;align-items:flex-start;max-width:270px;text-shadow:0 2px 8px #000}.person-label .person-avatar{flex:0 0 auto;width:42px;height:42px;border:1px solid rgba(217,183,109,.42);border-radius:50%;object-fit:cover;object-position:top;background:#10131a;box-shadow:0 0 20px rgba(217,183,109,.13)}.person-label div{display:flex;flex-direction:column;min-width:0}.person-label span{font:400 8px var(--sans);letter-spacing:.24em;color:#8e9097}.person-label b{font:400 13px/1.6 var(--jp);color:#ebe8e0}.person-label small{font:400 9px var(--sans);letter-spacing:.05em;color:#898b92}.person-label em{margin-top:4px;color:#aebfd0;font:400 8px/1.5 var(--sans);letter-spacing:.05em;font-style:normal}.person-b{text-align:right;flex-direction:row-reverse}.person-b .person-avatar{border-color:rgba(143,186,255,.45);box-shadow:0 0 20px rgba(143,186,255,.13)}
.person-comfort{display:block;margin-top:6px;color:#aaa69d;font:500 9px/1.4 var(--sans);letter-spacing:.04em}.person-comfort.is-positive{color:#87cdef;text-shadow:0 0 11px rgba(112,191,232,.28)}.person-comfort.is-negative{color:#e58b9b;text-shadow:0 0 11px rgba(229,139,155,.2)}
.person-label .current-mode{margin-top:5px;color:#d5c69f;font:400 7.5px/1.45 var(--jp);letter-spacing:.02em}.person-b .current-mode{color:#acc4e9}
.observatory:has(.mode-deck) .gesture-hint{bottom:446px}
.gesture-hint{position:absolute;z-index:4;left:50%;bottom:91px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:#767a84;font:400 8px var(--sans);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;pointer-events:none;transition:opacity .8s ease}.gesture-hint i{width:2px;height:2px;border-radius:50%;background:#666a74}.gesture-hint.is-hidden{opacity:0}
.detail-panel{--fn-color:#c9aa66;position:absolute;z-index:7;right:28px;top:104px;bottom:74px;width:min(354px,calc(100vw - 56px));overflow:auto;padding:27px 25px 30px;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--fn-color) 16%,transparent),transparent 34%),linear-gradient(150deg,rgba(18,21,29,.94),rgba(8,10,15,.91));border:1px solid color-mix(in srgb,var(--fn-color) 38%,rgba(255,255,255,.1));border-top:2px solid var(--fn-color);border-radius:9px;backdrop-filter:blur(24px);box-shadow:0 28px 80px rgba(0,0,0,.4),0 0 42px color-mix(in srgb,var(--fn-color) 9%,transparent);transform:translateX(calc(100% + 45px));opacity:0;pointer-events:none;transition:transform .5s cubic-bezier(.22,.8,.25,1),opacity .35s ease,border-color .35s ease;scrollbar-width:thin;scrollbar-color:#454852 transparent}
.detail-panel.is-open{transform:translateX(0);opacity:1;pointer-events:auto}
.panel-close{position:absolute;right:16px;top:14px;width:28px;height:28px;border:0;background:transparent;color:#8c8e95;font:300 22px var(--sans);cursor:pointer}.panel-close:hover{color:#fff}
.panel-kicker,.kicker{margin:0 0 11px;color:var(--gold);font:400 8px var(--sans);letter-spacing:.27em;text-transform:uppercase}
.detail-panel h2{font:400 24px/1.4 var(--jp);letter-spacing:.02em;margin:0 30px 5px 0;color:#f3f0e8}.detail-code{margin:0 0 12px;color:#9699a2;font:400 11px/1.7 var(--sans);letter-spacing:.04em}.selected-block-summary{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:baseline;margin:0 0 18px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--fn-color) 22%,rgba(255,255,255,.07));border-radius:6px;background:color-mix(in srgb,var(--fn-color) 6%,rgba(255,255,255,.015))}.selected-block-summary[hidden]{display:none}.selected-block-summary>span{grid-row:1/3;color:var(--fn-color);font:500 6px var(--sans);letter-spacing:.16em;writing-mode:vertical-rl}.selected-block-summary>b{color:#ece8de;font:500 11px var(--jp)}.selected-block-summary>small{color:#92959d;font:400 8px/1.5 var(--jp)}
.function-portrait{display:grid;grid-template-columns:78px 1fr;gap:15px;align-items:center;margin:0 0 20px;padding:12px;background:color-mix(in srgb,var(--fn-color) 10%,rgba(255,255,255,.025));border:1px solid color-mix(in srgb,var(--fn-color) 28%,transparent);border-radius:7px}.function-portrait img{width:78px;height:78px;display:block;border-radius:50%;object-fit:cover;background:#111;border:1px solid color-mix(in srgb,var(--fn-color) 58%,#fff);box-shadow:0 0 24px color-mix(in srgb,var(--fn-color) 22%,transparent)}.function-portrait div{min-width:0}.function-portrait span{display:block;color:color-mix(in srgb,var(--fn-color) 75%,#fff);font:400 7px var(--sans);letter-spacing:.18em}.function-portrait b{display:block;margin:5px 0 2px;color:#f1eee6;font:400 16px/1.45 var(--jp)}.function-portrait small{display:block;color:#9699a2;font:400 10px var(--sans);letter-spacing:.05em}
.metric-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 22px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metric-pair>div{position:relative}.metric-pair span{display:block;min-height:30px;color:#9699a1;font-size:9px;line-height:1.5}.metric-pair b{display:block;margin:2px 0 8px;color:#f4f0e7;font:400 24px var(--serif)}.metric-pair b:after{content:" / 100";font:400 8px var(--sans);color:#777a82}.meter{height:2px;background:rgba(255,255,255,.1);overflow:hidden}.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7a6840,#d9bd79);box-shadow:0 0 8px #c9aa66;transition:width .5s ease}.meter.value i{background:linear-gradient(90deg,#7c672f,#f0cf72);box-shadow:0 0 8px #f0cf72}
.detail-list{margin:0}.detail-list>div{display:grid;grid-template-columns:85px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.065)}.detail-list dt{color:#777b85;font-size:9px}.detail-list dd{margin:0;color:#d8d6d0;font-size:10px;line-height:1.6}.block-definition{margin:0 0 10px;padding:12px 13px;border-left:2px solid var(--fn-color);border-radius:0 6px 6px 0;background:color-mix(in srgb,var(--fn-color) 7%,rgba(255,255,255,.018))}.block-definition>span{display:block;color:color-mix(in srgb,var(--fn-color) 78%,#fff);font:500 7px var(--sans);letter-spacing:.14em;text-transform:uppercase}.block-definition h3{margin:5px 0 6px;font:400 17px/1.45 var(--jp)}.block-traits{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 9px}.block-traits b{padding:3px 7px;border:1px solid color-mix(in srgb,var(--fn-color) 32%,transparent);border-radius:999px;color:color-mix(in srgb,var(--fn-color) 72%,#fff);font:500 7px var(--sans)}.block-copy,.action-copy{font-size:11px;line-height:1.9;color:#b6b6b5;margin:0}.action-copy{margin-top:18px;color:#898d96}.block-position-details{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:10px}.block-position-details article{min-width:0;padding:8px;border:1px solid rgba(255,255,255,.065);border-radius:5px;background:rgba(255,255,255,.018)}.block-position-details article>div{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.block-position-details span{color:#747984;font:500 5.5px var(--sans);letter-spacing:.08em}.block-position-details b{color:#e2ddd2;font:500 8px var(--jp)}.block-position-details p{margin:5px 0 0;color:#92959d;font:400 7px/1.55 var(--jp)}.pair-response{margin-top:20px;padding:14px;border-left:1px solid var(--gold);background:rgba(201,170,102,.055)}.pair-response span{display:block;color:#a09b8f;font-size:9px}.pair-response b{display:inline-block;margin-top:5px;color:#f2e6c6;font:400 25px var(--serif)}.pair-response b:after{content:" / 100";font:400 8px var(--sans);color:#837e73}.pair-response small{margin-left:7px;font:400 10px var(--sans);color:#bdb7a9}
.pair-response p{margin:10px 0 0;padding-top:9px;border-top:1px solid rgba(201,170,102,.13);color:#bbb6aa;font-size:9px;line-height:1.7}
.inspection-section{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.085)}.block-info-section{margin-top:4px;padding-top:14px}.inspection-label{margin:0 0 10px;color:var(--fn-color);font:500 9px var(--jp);letter-spacing:.08em}.inspection-label span{margin-left:6px;color:#70747d;font:400 7px var(--sans);letter-spacing:.18em}.inspection-section h3{margin:0 0 8px;color:#eeeae1;font:400 16px/1.5 var(--jp)}.inspection-section>p:not(.inspection-label):not(.action-copy){margin:0;color:#a9abb0;font-size:10px;line-height:1.9;white-space:pre-line}.neuro-symbols{display:flex;align-items:baseline;gap:10px;margin:2px 0 9px}.neuro-symbols b{color:var(--fn-color);font:500 17px var(--sans);letter-spacing:.13em}.neuro-symbols small{color:#94979f;font:400 10px var(--sans)}.layer5-composition{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:6px;margin:8px 0 12px}.layer5-composition>article{min-width:0;padding:9px;border:1px solid color-mix(in srgb,var(--fn-color) 23%,rgba(255,255,255,.06));border-radius:6px;background:rgba(255,255,255,.018)}.layer5-composition article>span{display:block;color:#777b84;font:500 6px var(--sans);letter-spacing:.11em}.layer5-composition article>span small{display:block;margin-top:2px;color:#686c74;font:400 6px var(--jp);letter-spacing:0}.layer5-composition b{display:block;margin-top:6px;color:#ece8df;font:500 8px/1.45 var(--sans)}.layer5-composition article p{margin:5px 0 0;color:#9a9da4;font:400 7px/1.55 var(--jp)}.layer5-composition>i{align-self:center;color:#777b84;font-style:normal}.layer5-position-reading{margin:13px 0;padding:12px;border:1px solid color-mix(in srgb,var(--fn-color) 18%,rgba(255,255,255,.07));border-radius:7px;background:rgba(3,5,8,.28)}.layer5-position-reading>header>span{color:var(--fn-color);font:500 6px var(--sans);letter-spacing:.16em}.layer5-position-reading>header h3{margin:5px 0 6px;font-size:18px}.layer5-position-meta{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.layer5-position-meta b{padding:3px 6px;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#a9abb1;font:500 6px var(--sans)}.layer5-position-reading>header>p{margin:0;color:#d7cfbd;font:500 9px/1.65 var(--jp)}.layer5-position-reading>section{margin-top:13px;padding-top:11px;border-top:1px solid rgba(255,255,255,.065)}.layer5-position-reading h4{margin:0 0 6px;color:color-mix(in srgb,var(--fn-color) 68%,#fff);font:500 8px var(--jp)}.layer5-position-reading section>p,.position-linkage-grid p,.position-evidence p{margin:0;color:#aeb0b5;font:400 8px/1.75 var(--jp)}.position-linkage-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.position-linkage-grid article,.position-evidence article{padding:8px;border:1px solid rgba(255,255,255,.06);border-radius:5px;background:rgba(255,255,255,.015)}.position-linkage-grid span{display:block;color:#7f838c;font:500 6px var(--jp)}.position-linkage-grid i{color:var(--fn-color);font-style:normal}.position-linkage-grid b,.position-evidence b{display:block;margin:5px 0;color:#ded9cf;font:500 8px var(--jp)}.position-evidence{display:grid;gap:6px}.layer5-catch{color:#e8dfca!important;font-size:11px!important}.layer5-neuro{margin-top:10px!important;padding-top:10px;border-top:1px solid rgba(255,255,255,.07);color:#838790!important}
.comfort-shift{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.pair-response .comfort-shift>b{font:500 17px var(--sans);margin:4px 0 0}.pair-response .comfort-shift>b:after{content:""}.comfort-shift small{font-size:9px}.comfort-track{position:relative;height:4px;margin-top:9px;border-radius:4px;background:linear-gradient(90deg,rgba(220,94,116,.35),rgba(255,255,255,.08) 50%,rgba(94,205,166,.35));overflow:visible}.comfort-track i{position:absolute;left:50%;top:-3px;width:1px;height:10px;background:rgba(255,255,255,.4)}.comfort-track em{position:absolute;left:50%;top:0;height:4px;width:0;border-radius:4px;background:#aaa;box-shadow:0 0 8px currentColor;transition:all .25s ease}
.mode-deck{position:absolute;z-index:6;left:50%;bottom:424px;transform:translateX(-50%);width:min(720px,calc(100vw - 540px));min-width:430px;display:grid;grid-template-columns:1fr 66px 1fr;gap:9px;align-items:end;padding:10px 12px;background:rgba(8,10,15,.7);border:1px solid rgba(255,255,255,.085);border-radius:8px;backdrop-filter:blur(18px)}.mode-deck label{min-width:0}.mode-deck label>span{display:block;margin:0 0 5px 2px;color:#848893;font:400 7px/1.2 var(--sans);letter-spacing:.13em}.mode-deck select{width:100%;height:32px;appearance:none;border:1px solid rgba(255,255,255,.11);border-radius:4px;padding:0 29px 0 9px;background:#10131a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23b8a978'/%3E%3C/svg%3E") no-repeat calc(100% - 10px) 50%;color:#d7d4cd;font:400 9px/1 var(--jp);outline:none}.mode-deck select:focus{border-color:rgba(240,214,151,.48);box-shadow:0 0 0 2px rgba(201,170,102,.09)}.randomize-modes{height:32px;border:1px solid rgba(222,197,137,.2);border-radius:4px;background:rgba(222,197,137,.055);color:#cab98f;font:400 7px/1.1 var(--jp);cursor:pointer}.randomize-modes span{display:block;margin-bottom:2px;color:#777263;font:400 5.5px var(--sans);letter-spacing:.13em}.randomize-modes:hover{border-color:rgba(222,197,137,.45);color:#f0dfb6;background:rgba(222,197,137,.09)}
.evolution-deck{position:absolute;z-index:6;left:50%;bottom:18px;transform:translateX(-50%);width:min(720px,calc(100vw - 540px));min-width:430px;height:398px;padding:11px 14px 9px;background:linear-gradient(145deg,rgba(14,17,24,.92),rgba(7,9,14,.88));border:1px solid rgba(255,255,255,.1);border-top-color:rgba(216,185,115,.24);border-radius:10px;backdrop-filter:blur(22px);box-shadow:0 16px 45px rgba(0,0,0,.28)}
.evolution-deck>header{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:12px;height:35px}.evolution-deck>header>div:first-child span{display:block;color:#b99d62;font:400 6.5px/1 var(--sans);letter-spacing:.24em}.evolution-deck>header>div:first-child b{display:block;margin-top:5px;color:#e6e1d6;font:400 10px/1.2 var(--jp)}.evolution-deck>header>p{margin:0;text-align:right;color:#8f929a;font:400 8px/1.4 var(--sans)}
.deck-collapse{width:24px;height:24px;border:1px solid rgba(255,255,255,.1);border-radius:50%;background:rgba(255,255,255,.025);color:#aaa49a;cursor:pointer;font:400 13px/1 var(--sans)}.deck-collapse:hover{border-color:rgba(222,197,137,.35);color:#ead9b3}
.deck-header-actions{display:flex;align-items:center;gap:6px}.story-button{height:24px;border:1px solid rgba(201,170,102,.25);border-radius:999px;padding:0 9px;background:rgba(201,170,102,.06);color:#d7c28f;font:400 6.5px var(--jp);cursor:pointer;white-space:nowrap}.story-button:hover{border-color:rgba(240,214,151,.5);color:#f0dda9}
.evolution-deck.is-collapsed{height:134px}.evolution-deck.is-collapsed .evolution-deck-body{display:block}.evolution-deck.is-collapsed .evolution-deck-body>:not(.evolution-now){display:none}.evolution-deck.is-collapsed .evolution-now{margin-top:2px}.observatory.relationship-collapsed .mode-deck{display:none}.observatory.relationship-collapsed .gesture-hint{bottom:165px}
.evolution-strategy{display:flex;padding:2px;border:1px solid rgba(255,255,255,.1);border-radius:999px}.evolution-strategy button{border:0;border-radius:999px;padding:5px 10px;background:transparent;color:#838792;font:400 8px var(--jp);cursor:pointer}.evolution-strategy button.is-active{background:rgba(219,191,126,.12);color:#ead9b3;box-shadow:inset 0 0 0 1px rgba(219,191,126,.12)}
.evolution-now{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);align-items:center;gap:8px;height:70px;margin:2px 0 1px;padding:6px 9px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.065);border-radius:6px}.evolution-now article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0}.evolution-now .now-b{grid-template-columns:auto minmax(0,1fr) 48px;text-align:right}.current-type-face{display:block;width:46px;height:46px;border-radius:50%;object-fit:cover;border:1px solid rgba(217,183,109,.4);box-shadow:0 0 21px rgba(217,183,109,.18);background:#11141b}.now-b .current-type-face{border-color:rgba(143,186,255,.4);box-shadow:0 0 21px rgba(143,186,255,.16)}.current-state-copy{min-width:0}.current-state-copy>span{display:block;color:#6f747e;font:400 6px/1 var(--sans);letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-state-copy>b{display:block;margin-top:4px;color:#e7dfcb;font:500 9px/1.2 var(--jp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-b .current-state-copy>b{color:#d6e2f5}.current-state-copy>small{display:block;margin-top:3px;color:#d9b76d;font:500 7px/1 var(--sans);transition:color .2s ease,transform .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-b .current-state-copy>small{color:#8fbaff}.current-function-faces{display:flex;align-items:center;gap:5px}.current-function-faces figure{display:grid;grid-template-columns:31px;justify-items:center;gap:2px;margin:0;min-width:31px}.current-function-faces img{display:block;width:30px;height:30px;border-radius:50%;object-fit:cover;background:#11141b;border:1px solid color-mix(in srgb,var(--mode-function-color) 58%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--mode-function-color) 25%,transparent)}.current-function-faces figcaption{display:flex;align-items:baseline;gap:2px;white-space:nowrap}.current-function-faces figcaption span{color:#777b84;font:400 5.5px/1 var(--jp)}.current-function-faces figcaption b{color:color-mix(in srgb,var(--mode-function-color) 76%,#fff);font:500 6px/1 var(--sans)}.now-step{text-align:center;color:#777c86}.now-step span{display:block;font:400 5.5px var(--sans);letter-spacing:.2em}.now-step b{display:inline-block;color:#f1ead9;font:400 17px/1 var(--serif);min-width:20px}.now-step i{display:inline-block;margin-left:3px;color:#8d8063;font:400 9px var(--serif);font-style:normal}
.comfort-chart-wrap{position:relative;height:72px;margin-top:1px}.comfort-chart-wrap canvas{display:block;width:100%;height:72px}.chart-legend{position:absolute;right:29px;top:3px;display:flex;gap:8px;color:#848892;font:400 6.5px var(--jp);pointer-events:none}.chart-legend span:before{content:"";display:inline-block;width:9px;height:1px;margin:0 3px 2px 0;background:currentColor}.chart-legend .legend-a{color:#d9b76d}.chart-legend .legend-b{color:#8fbaff}.chart-legend .legend-mutual{color:#a6d8c1}.chart-legend .legend-value-a{color:#d9b76d}.chart-legend .legend-value-b{color:#8fbaff}.chart-legend .legend-value-a:before,.chart-legend .legend-value-b:before{height:0;border-top:1px dashed currentColor;background:transparent}
.mode-journey-wrap{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:7px;height:32px;border-top:1px solid rgba(255,255,255,.055);border-bottom:1px solid rgba(255,255,255,.055)}.mode-journey-wrap>span{color:#8d8063;font:400 6px var(--sans);letter-spacing:.15em}.mode-journey-wrap nav{display:flex;align-items:center;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:none}.mode-journey-wrap nav::-webkit-scrollbar{display:none}.journey-stop{flex:0 0 auto;border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:4px 7px;background:rgba(255,255,255,.025);color:#858993;font:400 6.5px/1 var(--sans);cursor:pointer;white-space:nowrap}.journey-stop:before{content:"";display:inline-block;width:3px;height:3px;margin:0 5px 1px 0;border-radius:50%;background:#81765d}.journey-stop.is-active{border-color:rgba(222,197,137,.42);background:rgba(222,197,137,.09);color:#efe4ca}.journey-stop.is-active:before{background:#efd58f;box-shadow:0 0 7px #efd58f}
.evolution-deck .timeline{display:grid;grid-template-columns:172px 90px 1fr 42px;gap:9px;align-items:center;margin-top:0}.playback-controls{display:flex;align-items:center;gap:5px}.playback-controls>button:first-child{flex:0 0 auto;width:28px;height:28px;border:1px solid rgba(240,214,151,.25);border-radius:50%;background:rgba(201,170,102,.08);color:#e7cf98;cursor:pointer;font-size:8px}.timeline-speed{position:relative;display:block!important}.timeline-speed>span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.timeline-speed select{height:26px;border:1px solid rgba(255,255,255,.11);border-radius:999px;padding:0 21px 0 8px;background:#151820;color:#aaa79f;font:400 7px var(--jp);cursor:pointer}.timeline-loop{height:26px;border:1px solid rgba(255,255,255,.11);border-radius:999px;padding:0 8px;background:rgba(255,255,255,.025);color:#858992;font:400 7px var(--jp);cursor:pointer;white-space:nowrap}.timeline-loop.is-active{border-color:rgba(166,216,193,.4);background:rgba(166,216,193,.08);color:#cbe1d5;box-shadow:0 0 14px rgba(166,216,193,.08)}.timeline label{display:flex;flex-direction:column}.timeline label span{font:400 6px var(--sans);letter-spacing:.2em;color:#8d8063}.timeline label b{font-size:8px;font-weight:400;color:#d1cec6}.timeline input{accent-color:#d3b671;width:100%}.timeline output{font:400 8px var(--sans);color:#b9b4aa;text-align:right}.equilibrium-note{position:absolute;left:14px;right:14px;bottom:3px;margin:0;color:#686d77;font:400 6.5px/1 var(--jp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.outcome-grid{display:grid;gap:3px;margin-top:2px}.final-state{display:grid;grid-template-columns:108px 1fr auto 12px 1fr auto;align-items:center;gap:5px;width:100%;height:27px;padding:0 7px;border-radius:5px;background:linear-gradient(90deg,rgba(217,183,109,.045),rgba(143,186,255,.045));border:1px solid rgba(255,255,255,.06);text-align:left;cursor:pointer}.final-state:hover,.final-state.is-active{border-color:rgba(222,197,137,.32);background:linear-gradient(90deg,rgba(217,183,109,.09),rgba(143,186,255,.075))}.final-state>span{color:#9d927b;font:500 7px/1.3 var(--jp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.final-state>b{min-width:0;color:#ddd8cd;font:500 8px/1 var(--jp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.final-state>b:nth-of-type(2){color:#d8e3f4}.final-state>small{color:#9da0a8;font:500 7px var(--sans);white-space:nowrap}.final-state>i{color:#706b60;font:400 10px var(--serif);font-style:normal}.equilibrium-outcome{border-color:rgba(166,216,193,.12)}.personal-outcome{background:rgba(255,255,255,.018)}.equilibrium-note{position:absolute;left:14px;right:14px;bottom:2px;margin:0;color:#686d77;font:400 6px/1 var(--jp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.theory-note-button{position:absolute;z-index:5;left:30px;bottom:30px;border:0;border-bottom:1px solid rgba(201,170,102,.35);padding:5px 0;background:transparent;color:#aaa69c;font:400 9px var(--jp);letter-spacing:.08em;cursor:pointer}.theory-note-button:hover{color:#eee3c9;border-color:#d4b66d}
.theory-dialog{width:min(680px,calc(100vw - 40px));max-height:calc(100dvh - 50px);overflow:auto;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:42px;background:linear-gradient(145deg,#171a22,#0b0d12);color:#eae6dd;box-shadow:0 40px 120px #000}.theory-dialog::backdrop{background:rgba(2,3,5,.78);backdrop-filter:blur(8px)}.dialog-close{position:absolute;top:15px;right:17px;border:0;background:transparent;color:#999;font-size:24px;cursor:pointer}.theory-dialog h2{font:400 clamp(24px,5vw,37px)/1.4 var(--jp);margin:0 0 16px}.theory-dialog>p:not(.kicker):not(.caution){color:#b5b3ae;font-size:13px;line-height:2}.theory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);margin:25px 0}.theory-grid div{background:#11141b;padding:18px}.theory-grid b{display:block;color:#e8dec8;font-size:11px;margin-bottom:8px}.theory-grid span{display:block;color:#9b9da3;font-size:10px;line-height:1.8}.theory-dialog .caution{color:#918e87;font-size:10px;line-height:1.8;padding-top:16px;border-top:1px solid var(--line)}.theory-dialog a{display:inline-block;color:#d7bf86;font-size:11px;text-decoration:none;border-bottom:1px solid rgba(215,191,134,.4);padding-bottom:2px}
.theory-grid{grid-template-columns:repeat(2,1fr)}.theory-grid div:last-child:nth-child(odd){grid-column:1/-1}
.story-dialog{width:min(760px,calc(100vw - 36px));max-height:calc(100dvh - 42px);overflow:auto;border:1px solid rgba(255,255,255,.14);border-top-color:rgba(216,185,115,.45);border-radius:11px;padding:38px 42px;background:radial-gradient(circle at 100% 0%,rgba(201,170,102,.09),transparent 33%),linear-gradient(145deg,#171a22,#0b0d12);color:#eae6dd;box-shadow:0 40px 120px #000}.story-dialog::backdrop{background:rgba(2,3,5,.82);backdrop-filter:blur(9px)}.story-dialog h2{margin:0 34px 10px 0;color:#f0eadc;font:400 clamp(22px,4vw,34px)/1.45 var(--jp)}.story-intro{margin:0 0 22px;color:#aaaeb5;font-size:11px;line-height:1.9}.story-baselines{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:20px;background:rgba(255,255,255,.08)}.story-baselines article{padding:16px;background:#11141b}.story-dialog section>span,.story-baselines span{display:block;margin-bottom:7px;color:#b99d62;font:400 7px var(--sans);letter-spacing:.18em}.story-baselines p,.story-dialog section p{margin:0;color:#c7c5bf;font-size:10px;line-height:1.85}.story-turning-points{display:grid;gap:8px}.story-turning-points article{display:grid;grid-template-columns:46px 1fr;gap:12px;padding:13px 14px;border:1px solid rgba(255,255,255,.07);border-radius:6px;background:rgba(255,255,255,.018)}.story-turning-points article>span{color:#c9aa66;font:400 7px var(--sans);letter-spacing:.13em}.story-turning-points h3{margin:0 0 6px;color:#e7e1d4;font:500 11px var(--jp)}.story-turning-points p{margin:4px 0 0;color:#aeb0b4;font-size:9px;line-height:1.75}.story-arrival,.story-reading{margin-top:18px;padding:15px;border-left:2px solid rgba(201,170,102,.5);background:rgba(201,170,102,.035)}.story-reading{border-left-color:rgba(166,216,193,.5);background:rgba(166,216,193,.025)}.story-boundary{margin:18px 0 0;padding-top:13px;border-top:1px solid rgba(255,255,255,.07);color:#737780;font-size:8px;line-height:1.7}.story-loading{display:flex;align-items:center;gap:10px;margin-top:18px;color:#aaa69d;font-size:9px}.story-loading[hidden]{display:none}.story-loading i{width:12px;height:12px;border:1px solid rgba(201,170,102,.25);border-top-color:#d9bd79;border-radius:50%;animation:story-spin .8s linear infinite}.story-cache-status{margin:14px 0 0;color:#9ebfac;font-size:8px;letter-spacing:.04em}.story-error{margin-top:15px;color:#e596a5;font-size:9px}.story-saved-tools{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.07)}.story-saved-tools>button{border:1px solid rgba(201,170,102,.32);border-radius:999px;padding:8px 14px;background:rgba(201,170,102,.07);color:#d9c38f;font:400 9px var(--jp);cursor:pointer}.story-saved-tools>button:hover{border-color:rgba(235,207,143,.65);color:#f1dfb2}.story-history>span{display:block;margin-bottom:8px;color:#777b84;font:400 7px var(--sans);letter-spacing:.16em}.story-history>div{display:flex;flex-wrap:wrap;gap:6px}.story-history button{max-width:100%;border:1px solid rgba(255,255,255,.09);border-radius:4px;padding:7px 9px;background:rgba(255,255,255,.025);color:#aaaeb5;font:400 8px var(--jp);cursor:pointer;text-align:left}.story-history button:hover,.story-history button.is-current{border-color:rgba(166,216,193,.35);color:#d9e5df}.story-history p{margin:0;color:#6f737b;font-size:8px}@keyframes story-spin{to{transform:rotate(360deg)}}
.metabolism-deck{position:absolute;z-index:6;left:50%;bottom:18px;transform:translateX(-50%);width:min(760px,calc(100vw - 560px));min-width:480px;height:236px;padding:13px 15px 10px;background:linear-gradient(145deg,rgba(14,17,24,.93),rgba(7,9,14,.9));border:1px solid rgba(255,255,255,.1);border-top-color:rgba(216,185,115,.26);border-radius:10px;backdrop-filter:blur(22px);box-shadow:0 16px 45px rgba(0,0,0,.28);transition:height .28s ease}
.metabolism-deck>header{display:grid;grid-template-columns:1fr auto 24px;align-items:center;gap:12px;height:34px}.metabolism-deck>header span{display:block;color:#b99d62;font:400 6.5px/1 var(--sans);letter-spacing:.24em}.metabolism-deck>header b{display:block;margin-top:5px;color:#e6e1d6;font:400 10px/1.2 var(--jp)}.metabolism-deck>header p{margin:0;color:#7d818a;font:400 7px/1.4 var(--jp)}
.metabolism-body{display:grid;grid-template-columns:225px 1fr;grid-template-rows:auto 1fr auto;gap:8px 12px;margin-top:4px}.metabolism-controls{grid-row:1/3;display:grid;grid-template-columns:34px 1fr;gap:7px;padding-right:12px;border-right:1px solid rgba(255,255,255,.07)}.metabolism-play{grid-row:1;width:32px;height:32px;border:1px solid rgba(222,197,137,.25);border-radius:50%;background:rgba(222,197,137,.07);color:#e3c985;cursor:pointer}.metabolism-controls>label:not(.dual-toggle){display:flex;flex-direction:column;gap:4px}.metabolism-controls>label>span{color:#777d87;font:400 6px var(--sans);letter-spacing:.13em}.metabolism-controls select{width:100%;height:32px;appearance:none;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:0 26px 0 8px;background:#10131a;color:#ddd9cf;font:400 8px var(--jp)}.dual-toggle{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:7px 8px;border:1px solid rgba(255,255,255,.07);border-radius:5px;cursor:pointer}.dual-toggle input{accent-color:#c9aa66}.dual-toggle span b{display:block;color:#c7c3ba;font:400 8px var(--jp)}.dual-toggle span small{display:block;margin-top:2px;color:#717680;font:400 6px var(--jp)}.metabolism-reset{grid-column:1/-1;height:25px;border:1px solid rgba(255,255,255,.08);border-radius:4px;background:transparent;color:#858991;font:400 7px var(--jp);cursor:pointer}
.metabolism-now{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.metabolism-now article{min-width:0;padding:7px 9px;border:1px solid rgba(255,255,255,.06);border-radius:5px;background:rgba(255,255,255,.02)}.metabolism-now span{display:block;color:#717680;font:400 6px var(--jp)}.metabolism-now b{display:block;margin-top:4px;color:#e6decb;font:500 9px/1.25 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metabolism-now small{display:block;margin-top:3px;color:#777c86;font:400 6px/1.35 var(--jp)}.balance-reading b{color:#e094a2!important}.dual-reading b{color:#b5d9c9!important}
.metabolism-chart-wrap{position:relative;height:88px}.metabolism-chart-wrap canvas{display:block;width:100%;height:88px}.metabolism-legend{position:absolute;left:30px;right:6px;top:3px;display:flex;justify-content:flex-end;gap:8px;pointer-events:none}.metabolism-legend span{font:400 5.5px var(--sans);color:var(--legend-color)}.metabolism-legend span:before{content:"";display:inline-block;width:7px;height:1px;margin:0 3px 2px 0;background:currentColor}
.metabolism-note{grid-column:1/-1;margin:0;color:#626770;font:400 6px/1.45 var(--jp);text-align:center}.metabolism-deck.is-collapsed{height:58px}.metabolism-deck.is-collapsed .metabolism-body{display:none}.observatory:has(.metabolism-deck:not(.is-collapsed)) .gesture-hint{bottom:270px}
.credit{position:absolute;z-index:4;right:30px;bottom:34px;color:#555a64;font:400 7px var(--sans);letter-spacing:.18em}.credit span{color:#73757b}
.empty-state{position:absolute;z-index:7;left:50%;top:50%;transform:translate(-50%,-50%);width:min(500px,calc(100vw - 40px));text-align:center;padding:45px;background:rgba(14,17,23,.8);border:1px solid var(--line);border-radius:8px}.empty-state h2{font:400 22px/1.6 var(--jp)}.empty-state p:not(.kicker){color:#aaa;font-size:12px;line-height:2}.empty-state a{color:#e1ca94;font-size:12px}.sr-function-list{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.detail-panel{width:min(390px,calc(100vw - 56px))}
.detail-panel h2.is-function-code{color:color-mix(in srgb,var(--fn-color) 76%,#fff);font:500 clamp(27px,2.3vw,34px)/1.15 var(--sans);letter-spacing:.075em;text-shadow:0 0 20px color-mix(in srgb,var(--fn-color) 24%,transparent)}
.detail-panel h2.is-function-code+.detail-code{color:#d5d1c8;font:400 13px/1.7 var(--jp);letter-spacing:.02em}
.function-portrait em{display:block;margin-top:5px;color:#aaa69d;font:400 9px/1.6 var(--jp);font-style:normal}
.classification-list{border-top:1px solid rgba(255,255,255,.06)}.classification-list>div{grid-template-columns:92px 1fr}
.function-notes{display:grid;gap:7px;margin-top:14px}.function-notes article{padding:11px 12px;border-left:2px solid color-mix(in srgb,var(--fn-color) 55%,transparent);background:color-mix(in srgb,var(--fn-color) 6%,rgba(255,255,255,.018));border-radius:0 5px 5px 0}.function-notes b{display:block;margin-bottom:4px;color:#e7e2d8;font:500 10px/1.5 var(--jp)}.function-notes p{margin:0;color:#a9abb0;font-size:10px;line-height:1.75}
.role-note{margin-top:13px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:5px}.role-note>span{display:block;margin-bottom:6px;color:var(--fn-color);font:500 8px var(--jp);letter-spacing:.08em}.role-note p{margin:0;color:#b4b3af;font-size:10px;line-height:1.8}
.keyword-line{margin-top:12px!important;color:#777d87!important;font:400 8px/1.8 var(--sans)!important;letter-spacing:.05em}
.layer5-classification{margin-bottom:14px;border-top:1px solid rgba(255,255,255,.06)}
.layer3-classification{margin-bottom:16px;border-top:1px solid rgba(255,255,255,.06)}
.layer3-classification>div{grid-template-columns:88px 1fr}
.layer3-composition{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:2px 0 16px;padding:13px 9px;background:color-mix(in srgb,var(--fn-color) 7%,rgba(255,255,255,.018));border:1px solid color-mix(in srgb,var(--fn-color) 18%,transparent);border-radius:6px}
.layer3-composition b{position:relative;padding:5px 8px;border:1px solid color-mix(in srgb,var(--child-color) 64%,transparent);border-radius:999px;color:#f1eee7;font:500 10px var(--sans);letter-spacing:.025em;box-shadow:inset 0 0 12px color-mix(in srgb,var(--child-color) 12%,transparent),0 0 8px color-mix(in srgb,var(--child-color) 10%,transparent)}
.layer3-composition b:before{content:"";display:inline-block;width:4px;height:4px;margin:0 5px 1px 0;border-radius:50%;background:var(--child-color);box-shadow:0 0 7px var(--child-color)}
.layer3-composition i{color:#686d77;font:400 9px var(--sans);font-style:normal}
.layer3-catch{margin-bottom:11px!important;color:#ebe3d0!important;font-size:11px!important}
.layer3-copy{padding:12px;border-left:2px solid color-mix(in srgb,var(--fn-color) 58%,transparent);background:color-mix(in srgb,var(--fn-color) 6%,rgba(255,255,255,.015));border-radius:0 5px 5px 0;color:#b7b8b8!important}
.layer3-source{margin-top:12px!important;padding-top:11px;border-top:1px solid rgba(255,255,255,.07);color:#7f838c!important;font-size:9px!important}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}

@media(max-width:900px){
  .masthead{padding-left:16px;padding-right:16px}.identity{min-width:0}.identity p{display:none}.identity h1{font-size:14px;letter-spacing:.11em}.identity>span{font-size:8px}.back-link span:last-child{display:none}
  .control-deck{left:12px;top:78px;width:190px;padding:10px}.person-labels{left:21%;right:21%;top:100px}
  .detail-panel{right:12px;top:auto;bottom:12px;width:calc(100vw - 24px);max-height:min(62dvh,560px);padding:24px 20px;transform:translateY(calc(100% + 25px))}.detail-panel.is-open{transform:translateY(0)}
  .mode-deck{left:12px;right:12px;bottom:418px;transform:none;width:auto;min-width:0}.evolution-deck{left:12px;right:12px;bottom:12px;transform:none;width:auto;min-width:0}.metabolism-deck{left:12px;right:12px;bottom:12px;transform:none;width:auto;min-width:0}.credit{display:none}.theory-note-button{left:auto;right:16px;bottom:23px}
  .gesture-hint{bottom:72px}.person-label{max-width:150px}
}
@media(max-width:600px){
  .masthead{grid-template-columns:42px 1fr 82px;align-items:center;padding-top:max(13px,env(safe-area-inset-top))}.back-link{padding:8px}.icon-button,.lumen-language summary{width:34px;height:34px}.masthead-actions{gap:5px}
  .control-deck{top:64px;left:10px;right:10px;width:auto;padding:8px}.control-deck.is-collapsed{right:auto;width:104px}.control-deck-body{display:grid;grid-template-columns:124px 1fr auto;align-items:end;gap:8px;margin-top:6px}.performance-note{grid-column:1/-1}.person-picker>span{display:none}.person-picker select{height:34px;padding-top:7px;padding-bottom:7px}.view-actions{grid-template-columns:33px 33px 33px}.view-actions button:nth-child(2){font-size:0}.view-actions button:nth-child(2):after{content:"↺";font-size:17px}
  .person-labels{left:14px;right:14px;top:116px}.observatory:has(.control-deck:not(.is-collapsed)) .person-labels{top:252px}.person-label .person-avatar{width:34px;height:34px}.person-label b{font-size:11px}.person-label small{font-size:8px}.person-label span{font-size:7px}.person-label{max-width:46%;gap:7px}
  .gesture-hint{bottom:54px;gap:7px;font-size:7px}.observatory:has(.mode-deck) .gesture-hint{display:none}.gesture-hint span:nth-of-type(2),.gesture-hint i:nth-of-type(2){display:none}
  .mode-deck{bottom:381px;grid-template-columns:1fr 52px 1fr;gap:5px;padding:7px}.mode-deck label>span{font-size:6px}.mode-deck select{height:30px;padding-left:6px;font-size:8px}.randomize-modes{height:30px;font-size:6px}.theory-note-button{display:none}.evolution-deck{height:364px;padding:9px 10px}.evolution-deck>header{grid-template-columns:1fr auto;height:35px}.evolution-deck>header>p,.evolution-deck>header>.evolution-strategy{display:none}.evolution-deck>header>div:first-child b{font-size:8px}.story-button{font-size:6px;padding:0 7px}.evolution-strategy button{padding:5px 7px;font-size:7px}.evolution-now{height:60px;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);gap:3px;padding-left:4px;padding-right:4px}.evolution-now article{grid-template-columns:37px minmax(0,1fr) auto;gap:3px}.evolution-now .now-b{grid-template-columns:auto minmax(0,1fr) 37px}.current-type-face{width:36px;height:36px}.current-state-copy>span{font-size:5px}.current-state-copy>b{font-size:7px}.current-state-copy>small{font-size:5.5px}.current-function-faces{gap:2px}.current-function-faces figure{grid-template-columns:23px;min-width:23px}.current-function-faces img{width:22px;height:22px}.current-function-faces figcaption span{display:none}.current-function-faces figcaption b{font-size:5px}.comfort-chart-wrap,.comfort-chart-wrap canvas{height:54px}.chart-legend{right:24px;gap:5px;font-size:5.5px}.chart-legend .legend-mutual{display:none}.mode-journey-wrap{height:29px;grid-template-columns:66px 1fr}.evolution-deck .timeline{grid-template-columns:138px 52px 1fr 30px;gap:4px}.timeline-speed select{width:57px;padding-left:6px;font-size:5.5px}.timeline-loop{padding:0 5px;font-size:5.5px}.final-state{height:25px;grid-template-columns:92px 1fr auto 8px 1fr auto;gap:3px;padding:0 5px}.final-state>span{font-size:6px}.final-state>b{font-size:7px}.final-state>small{font-size:6px}.metabolism-deck{height:292px;padding:9px 10px}.metabolism-deck>header{grid-template-columns:1fr 24px}.metabolism-deck>header p{display:none}.metabolism-body{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto}.metabolism-controls{grid-row:auto;grid-template-columns:32px 1fr auto;padding:0 0 7px;border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}.dual-toggle{grid-column:auto;padding:5px}.dual-toggle span small{display:none}.metabolism-reset{display:none}.metabolism-now{grid-template-columns:1fr 1fr}.metabolism-now .dual-reading{display:none}.metabolism-chart-wrap,.metabolism-chart-wrap canvas{height:82px}.metabolism-note{font-size:5.5px}.story-dialog,.theory-dialog{padding:38px 22px 26px}.story-baselines{grid-template-columns:1fr}.story-turning-points article{grid-template-columns:38px 1fr}.story-saved-tools{grid-template-columns:1fr}.theory-grid{grid-template-columns:1fr}.detail-panel{padding-bottom:max(26px,env(safe-area-inset-bottom))}
  .evolution-deck.is-collapsed{height:120px}.metabolism-deck.is-collapsed{height:58px}
  .block-position-details,.position-linkage-grid{grid-template-columns:1fr}.layer5-composition{grid-template-columns:1fr}.layer5-composition>i{justify-self:center}.layer5-position-reading{padding:10px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Detail reading — 内容を削らず、文字も縮めない展示目録のレイアウト */
.detail-panel{
  width:min(480px,calc(100vw - 56px));
  padding:32px 30px 40px;
  display:flex;
  flex-direction:column;
}
.detail-panel>.panel-kicker{order:1}
.detail-panel>h2{order:2}
.detail-panel>.detail-code{order:3}
.detail-panel>.function-portrait{order:4}
.detail-panel>.metric-pair{order:5}
.detail-panel>.selected-block-summary{order:6}
.detail-panel>.function-story,.detail-panel>.layer3-section,.detail-panel>.layer5-section{order:7}
.detail-panel>.function-info-section{order:8}
.detail-panel>.block-info-section{order:9}
.detail-panel>.deep-reading-section{order:10}
.detail-panel>.neuro-section{order:11}
.detail-panel>.pair-response{order:12}
.panel-kicker{font-size:11px}
.detail-panel h2{font-size:28px}
.detail-panel h2.is-function-code{font-size:clamp(31px,2.6vw,39px)}
.detail-panel h2.is-function-code+.detail-code,
.detail-code{font-size:14px;line-height:1.8}
.selected-block-summary{padding:12px 14px;gap:5px 13px}
.selected-block-summary>span{font-size:10px}
.selected-block-summary>b{font-size:15px}
.selected-block-summary>small{font-size:12px;line-height:1.7}
.function-portrait{grid-template-columns:96px 1fr;gap:18px;padding:15px}
.function-portrait img{width:96px;height:96px}
.function-portrait span{font-size:10px}
.function-portrait b{font-size:20px}
.function-portrait small{font-size:13px}
.function-portrait em{font-size:13px;line-height:1.75}
.metric-pair span{min-height:38px;font-size:12px;line-height:1.55}
.metric-pair b{font-size:29px}
.metric-pair b:after{font-size:10px}
.meter{height:3px}
.inspection-section{margin-top:26px;padding-top:22px}
.inspection-label{margin-bottom:14px;font-size:12px;line-height:1.6}
.inspection-label span{font-size:10px}
.layer-subheading{
  display:flex;align-items:baseline;gap:8px;margin:22px 0 10px!important;
  color:#e5dfd1!important;font:500 15px/1.6 var(--jp)!important
}
.layer-subheading:after{content:"";height:1px;flex:1;background:rgba(255,255,255,.08)}
.layer-subheading span{order:2;color:#858a94;font:500 10px/1 var(--sans);letter-spacing:.14em;white-space:nowrap}
.inspection-section h3{font-size:19px;line-height:1.6}
.inspection-section>p:not(.inspection-label):not(.action-copy),
.block-copy,.action-copy{font-size:14px;line-height:1.95}
.detail-list>div{grid-template-columns:116px 1fr;gap:16px;padding:12px 0}
.detail-list dt{font-size:12px;line-height:1.6}
.detail-list dd{font-size:13px;line-height:1.75}
.block-definition{padding:17px 18px}
.block-definition>span{font-size:10px}
.block-definition h3{font-size:21px}
.block-traits{gap:7px;margin-bottom:13px}
.block-traits b{padding:5px 9px;font-size:11px}
.block-position-details{gap:8px;margin-top:14px}
.block-position-details article{padding:12px}
.block-position-details span{font-size:10px}
.block-position-details b{font-size:12px}
.block-position-details p{font-size:12px;line-height:1.75}
.function-notes{gap:10px;margin-top:18px}
.function-notes article{padding:15px 16px}
.function-notes b{font-size:13px}
.function-notes p{font-size:13px;line-height:1.85}
.role-note{padding:16px}
.role-note>span{font-size:11px}
.role-note p{font-size:13px;line-height:1.9}
.keyword-line{font-size:11px!important;line-height:1.9!important}
.neuro-symbols b{font-size:22px}
.neuro-symbols small{font-size:13px}
.neuro-section>p{font-size:13px!important}

.layer5-composition{gap:9px;margin:12px 0 18px}
.layer5-composition>article{padding:14px}
.layer5-composition article>span{font-size:10px}
.layer5-composition article>span small{font-size:10px}
.layer5-composition b{font-size:12px}
.layer5-composition article p{font-size:12px;line-height:1.75}
.layer5-position-reading{margin:18px 0;padding:18px}
.layer5-position-reading>header>span{font-size:10px}
.layer5-position-reading>header h3{font-size:23px}
.layer5-position-meta{gap:6px;margin-bottom:12px}
.layer5-position-meta b{padding:5px 8px;font-size:10px}
.layer5-position-reading>header>p{font-size:13px;line-height:1.85}
.layer5-position-reading>section{margin-top:19px;padding-top:16px}
.layer5-position-reading h4{font-size:14px;line-height:1.6}
.layer5-position-reading section>p,
.position-linkage-grid p,.position-evidence p{font-size:13px;line-height:1.9}
.position-linkage-grid{gap:9px}
.position-linkage-grid article,.position-evidence article{padding:13px}
.position-linkage-grid span{font-size:11px}
.position-linkage-grid b,.position-evidence b{font-size:12px;line-height:1.6}
.layer5-catch{font-size:15px!important;line-height:1.8!important}
.layer5-neuro{font-size:13px!important}
.layer5-copy{margin:0 0 16px!important;color:#b7b8bb!important;font-size:14px!important;line-height:1.95!important;white-space:pre-line}
.position-deep-reading{margin-top:17px;border-top:1px solid rgba(255,255,255,.075)}
.position-deep-reading>summary{
  display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;
  padding:15px 0 4px;list-style:none;cursor:pointer
}
.position-deep-reading>summary::-webkit-details-marker{display:none}
.position-deep-reading>summary b{color:#ded9cf;font:500 14px/1.6 var(--jp)}
.position-deep-reading>summary small{grid-column:1;grid-row:2;color:#858a93;font:400 10px/1.5 var(--jp);text-align:left}
.position-deep-reading>summary:after{content:"＋";grid-column:2;grid-row:1/3;align-self:center;color:var(--fn-color);font:400 15px/1 var(--sans)}
.position-deep-reading[open]>summary:after{content:"−"}
.position-deep-reading>section{margin-top:17px;padding-top:15px;border-top:1px solid rgba(255,255,255,.065)}

.layer3-composition{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  padding:12px;
  margin-bottom:20px;
}
.layer3-composition>i{display:none}
.layer3-composition>button{
  min-width:0;
  min-height:116px;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--child-color) 48%,rgba(255,255,255,.08));
  border-radius:8px;
  background:color-mix(in srgb,var(--child-color) 7%,rgba(255,255,255,.018));
  color:#ebe7de;
  text-align:left;
  cursor:pointer;
  box-shadow:inset 0 0 18px color-mix(in srgb,var(--child-color) 7%,transparent);
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.layer3-composition>button:hover{
  border-color:color-mix(in srgb,var(--child-color) 78%,#fff);
  background:color-mix(in srgb,var(--child-color) 12%,rgba(255,255,255,.025));
  transform:translateY(-1px);
}
.layer3-composition>button>span{display:flex;align-items:center;justify-content:space-between;gap:8px}
.layer3-composition>button b{
  padding:0;border:0;border-radius:0;box-shadow:none;
  color:color-mix(in srgb,var(--child-color) 70%,#fff);
  font:600 14px/1.4 var(--sans)
}
.layer3-composition>button b:before{
  content:"";display:inline-block;width:6px;height:6px;margin:0 7px 2px 0;border-radius:50%;
  background:var(--child-color);box-shadow:0 0 9px var(--child-color)
}
.layer3-composition>button small{color:#9a9ea6;font:400 11px/1.5 var(--sans);white-space:nowrap}
.layer3-composition>button strong{display:block;margin-top:9px;color:#f0ece3;font:500 14px/1.55 var(--jp)}
.layer3-composition>button p{margin:6px 0 0;color:#aaadb3;font:400 12px/1.75 var(--jp)}
.layer3-catch{font-size:15px!important;line-height:1.8!important}
.layer3-copy{padding:16px;font-size:14px!important}
.layer3-source{font-size:12px!important;line-height:1.8!important}

.reading-introduction{
  padding:18px 19px;
  border-left:2px solid var(--fn-color);
  border-radius:0 7px 7px 0;
  background:color-mix(in srgb,var(--fn-color) 7%,rgba(255,255,255,.018));
}
.reading-introduction>span{display:block;color:var(--fn-color);font:500 10px/1.4 var(--sans);letter-spacing:.16em}
.reading-introduction h3{margin:8px 0 9px;font-size:20px;line-height:1.6}
.reading-introduction p{margin:0;color:#b6b7ba;font-size:14px;line-height:1.95}
.reading-accordions{display:grid;gap:9px;margin-top:15px}
.reading-group{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  background:rgba(255,255,255,.018);
}
.reading-group[open]{border-color:color-mix(in srgb,var(--fn-color) 28%,rgba(255,255,255,.09))}
.reading-group summary{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;
  min-height:66px;padding:12px 15px;cursor:pointer;list-style:none;
}
.reading-group summary::-webkit-details-marker{display:none}
.reading-group summary>span{display:block;min-width:0}
.reading-group summary b{display:block;color:#e8e3d9;font:500 15px/1.55 var(--jp)}
.reading-group summary small{display:block;margin-top:2px;color:#92969f;font:400 12px/1.6 var(--jp)}
.reading-group summary em{
  position:relative;
  display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.1);
  border-radius:50%;color:var(--fn-color);font:500 11px/1 var(--sans);font-style:normal
}
.reading-group summary em:after{content:"＋";position:absolute;margin-top:44px;color:#6f747e;font-size:10px}
.reading-group[open] summary em:after{content:"−"}
.reading-group-body{padding:0 15px 16px}
.reading-group-body article{padding:16px 0;border-top:1px solid rgba(255,255,255,.07)}
.reading-group-body h4{margin:0 0 8px;color:color-mix(in srgb,var(--fn-color) 68%,#fff);font:500 15px/1.6 var(--jp)}
.reading-group-body p{margin:0;color:#b7b8bb;font:400 14px/2 var(--jp);white-space:pre-line}
.reading-source{margin-top:15px!important;padding-top:13px;border-top:1px solid rgba(255,255,255,.07);color:#7f848d!important;font-size:12px!important;line-height:1.8!important}
.neuro-section{border:1px solid rgba(255,255,255,.075);border-radius:7px;padding:0 15px 15px}
.neuro-section:not([open]){padding-bottom:0}
.neuro-section>summary{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:52px;margin:0;list-style:none;cursor:pointer
}
.neuro-section>summary::-webkit-details-marker{display:none}
.neuro-section>summary:after{content:"＋";color:var(--fn-color);font:400 15px var(--sans)}
.neuro-section[open]>summary:after{content:"−"}

@media(max-width:900px){
  .detail-panel{
    width:calc(100vw - 24px);
    max-height:min(76dvh,760px);
    padding:28px 24px max(34px,env(safe-area-inset-bottom));
  }
}
@media(max-width:520px){
  .detail-panel{padding-left:20px;padding-right:20px}
  .function-portrait{grid-template-columns:82px 1fr}
  .function-portrait img{width:82px;height:82px}
  .detail-list>div{grid-template-columns:102px 1fr;gap:12px}
  .block-position-details,.position-linkage-grid,.layer3-composition{grid-template-columns:1fr}
  .layer3-composition>button{min-height:0}
  .reading-group summary{min-height:70px}
}
