:root{--ground:#fbf7fd;--text:#3e3348;--muted:#6b5e75;--button:#7e5fb0;--danger:#9b4a63;--surface:#f3edf8;--accent:#e5d7f3;--accent-light:#f6f0fb;--accent-text:#694b83;color:var(--text);background:var(--ground);font-synthesis:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(145deg, var(--ground), var(--surface));min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,label{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.45}.shell{width:min(100%,760px);min-height:100vh;padding:max(16px, env(safe-area-inset-top)) 16px max(32px, env(safe-area-inset-bottom));margin:0 auto}.shell[data-mine=dog]{--accent:#ffdcc8;--accent-light:#fff0e6;--accent-text:#a34e2e}.shell[data-mine=rabbit]{--accent:#ffd6e5;--accent-light:#ffeef4;--accent-text:#a83d66}.shell[data-mine=bear]{--accent:#ffe7a8;--accent-light:#fff6da;--accent-text:#8a5a00}.shell[data-mine=cat]{--accent:#cdefe3;--accent-light:#eaf8f2;--accent-text:#2f7560}.brand{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:0 4px;display:flex}.brand a{color:var(--text);font-weight:800;text-decoration:none}.brand span{color:var(--muted);font-size:.75rem}.brand-status{align-items:center;gap:8px;display:flex}.brand-status button{padding:7px 14px;font-size:.78rem}.provider-buttons{gap:10px;display:grid}.card{backdrop-filter:blur(16px);background:#ffffffb8;border:1px solid #fffc;border-radius:30px;padding:clamp(24px,7vw,42px);box-shadow:0 22px 70px #75628224,inset 0 1px #fff}.intro-card,.result-card{text-align:center;max-width:580px;margin:7vh auto 0}.wide-card{margin-top:18px}.step{color:var(--accent-text);letter-spacing:.08em;margin:0 0 8px;font-size:.78rem;font-weight:800}h1,h2{color:var(--text)}h1{margin:0;font-size:clamp(1.55rem,6vw,2.3rem);line-height:1.35}.lead{color:var(--muted);margin:14px auto 26px;line-height:1.8}.mascot{filter:drop-shadow(0 10px 10px #80638d26);margin-bottom:8px;font-size:3.7rem}form{text-align:left}.field-label{color:var(--text);margin:18px 0 8px;font-size:.9rem;font-weight:700;display:block}input[type=text],input:not([type]),select{width:100%;color:var(--text);background:#fffcff;border:1px solid #ddd2e3;border-radius:16px;outline:none;padding:14px 16px}input:focus,select:focus{border-color:var(--button);box-shadow:0 0 0 4px #7e5fb025}button,.file-button{cursor:pointer;text-align:center;border:0;border-radius:999px;padding:14px 22px;font-weight:800}.primary,.file-button{color:#fff;background:var(--button);box-shadow:0 10px 24px #7e5fb038}.intro-card form>.primary{width:100%;margin-top:20px}.secondary{color:var(--text);background:var(--accent-light)}.danger{color:var(--danger);background:#f9e9ef}.text-button{color:var(--muted);background:0 0;margin-top:14px;padding:10px}.actions{justify-content:flex-end;gap:10px;margin-top:28px;display:flex}.error{color:var(--danger);margin:10px 0;font-size:.88rem;font-weight:700}fieldset{background:#fffafd9c;border:1px solid #e7deeb;border-radius:20px;margin:0;padding:16px}.single-question{max-width:580px;margin:0 auto}legend{color:var(--text);padding:0 6px;font-weight:750}legend span{width:25px;height:25px;color:var(--text);background:var(--accent);border-radius:50%;place-items:center;margin-right:8px;font-size:.75rem;display:inline-grid}.choices{gap:8px;margin-top:10px;display:grid}.choices label{cursor:pointer}.choices input{opacity:0;pointer-events:none;position:absolute}.choices span{background:#fff;border:1px solid #e5dbe9;border-radius:13px;padding:11px 13px;display:block}.choices input:checked+span{border-color:var(--button);background:var(--accent-light);box-shadow:0 0 0 2px #7e5fb024}.choices input:focus-visible+span{outline:3px solid #7e5fb055}.file-button{display:block;position:relative;overflow:hidden}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.loader{border:4px solid var(--surface);border-top-color:var(--button);border-radius:50%;place-items:center;width:94px;height:94px;margin:0 auto 22px;animation:1.2s linear infinite spin;display:grid}.loader span{font-size:2rem;animation:1.2s linear infinite unspin}.progress-number{color:var(--button);font-size:1.1rem;font-weight:800}@keyframes spin{to{transform:rotate(360deg)}}@keyframes unspin{to{transform:rotate(-360deg)}}@media (width<=560px){.shell{padding-inline:12px}.card{border-radius:24px;padding:24px 18px}.intro-card,.result-card,.home-card{margin-top:3vh}.vertical-mobile{flex-direction:column}.vertical-mobile button{width:100%}}@media (prefers-reduced-motion:reduce){.loader,.loader span{animation:none}}.install-card{background:var(--accent-light);text-align:left;border-radius:18px;max-width:580px;margin:18px auto 0;padding:14px 16px}.install-card h2{margin:0 0 6px;font-size:.9rem}.install-card p{color:var(--muted);margin:0 0 6px;font-size:.84rem;line-height:1.7}.install-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.install-actions .text-button{margin-top:0}.self-type-details{text-align:left;gap:10px;margin-top:18px;display:grid}.self-type-details section,.color-notice,.answer-check-note{background:var(--accent-light);text-align:left;border-radius:18px;padding:16px}.self-type-details h2,.color-notice h2,.answer-check-note h2{color:var(--accent-text);margin:0 0 6px;font-size:.95rem}.self-type-details p,.color-notice p,.answer-check-note p{margin:0;line-height:1.7}.color-notice,.answer-check-note{margin-top:10px}.answer-check-note{background:var(--surface)}.history-who{gap:8px;margin-top:16px;display:grid}.history-who button{word-break:break-all;width:100%}.history-days{text-align:left}.history-summary{text-align:left;margin:14px 0 0;line-height:1.7}.history-wide{width:100%;margin-top:20px}.tab-bar{bottom:max(8px, env(safe-area-inset-bottom));z-index:1;backdrop-filter:blur(16px);background:#ffffffdf;border:1px solid #fffc;border-radius:20px;grid-template-columns:repeat(4,1fr);gap:6px;margin:18px auto 0;padding:7px;display:grid;position:sticky;box-shadow:0 10px 30px #75628224}.tab-bar button{color:var(--muted);background:0 0;padding:10px 6px;font-size:.78rem}.tab-bar .tab-current{color:var(--accent-text);background:var(--accent-light)}.partner-select{text-align:left;max-width:320px;margin:0 auto 18px}.partner-select .field-label{margin-top:0}.home-card{text-align:center;max-width:580px;margin:7vh auto 0}.home-card .character{background:var(--accent-light);filter:drop-shadow(0 15px 15px #80638d26);border-radius:50%;width:8rem;margin:10px auto 12px;font-size:6rem}.home-button{margin:22px auto 0;font-size:1.15rem}.home-quadrant{color:var(--muted);margin:24px 0 0;font-size:.88rem}.home-quadrant-ready{color:var(--text);justify-items:center;gap:6px;display:grid}.quadrant-map{width:160px;height:160px;color:var(--accent-text)}.quadrant-frame{fill:var(--accent-light);stroke:var(--accent);stroke-width:1px}.quadrant-axis{stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 3}.quadrant-now{fill:var(--accent-text)}.quadrant-before{fill:none;stroke:var(--accent-text);stroke-width:1.5px}.quadrant-arrow{stroke:var(--accent-text);stroke-width:1.5px}.quadrant-axes{width:100%;max-width:260px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin:0;font-size:.72rem;display:flex}.quadrant-area{margin:4px 0 0;font-weight:700}.quadrant-move{margin:0}.quadrant-note{color:var(--muted);margin:0;font-size:.78rem}.home-section{text-align:left;overflow-wrap:anywhere;margin:28px 0 0}.home-section h2{margin:0 0 8px;font-size:1.05rem}.home-section-note{color:var(--muted);margin:8px 0 0;font-size:.82rem}.home-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.home-list li{background:var(--accent-light);border-radius:16px;padding:12px 14px;line-height:1.6}.home-past-list{margin-top:10px}.home-past-list time{color:var(--muted);font-size:.78rem;display:block}.home-more{max-width:100%;min-height:44px;margin:12px auto 0;display:block}.character{background:var(--accent-light);filter:drop-shadow(0 15px 15px #80638d26);border-radius:50%;width:8rem;margin:10px auto 12px;font-size:6rem}.type-note{color:var(--muted);margin:6px 0 0;font-size:.92rem}.confidence{color:var(--muted);margin:8px 0 22px;font-size:.82rem}.message-box{border:1px solid var(--accent);background:var(--accent-light);text-align:left;border-radius:22px;padding:17px 19px}.message-box p{margin:0;line-height:1.8}.read-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 0;display:grid}.read-summary div{background:var(--surface);border-radius:16px;padding:13px 8px}.read-summary dt{color:var(--muted);font-size:.72rem}.read-summary dd{margin:5px 0 0;font-weight:800}.warnings{color:#775e45;text-align:left;background:#fff6df;border-radius:18px;margin-top:18px;padding:14px 16px}.warnings h2{margin:0 0 6px;font-size:.9rem}.warnings ul{margin:0;padding-left:1.2rem;font-size:.82rem;line-height:1.65}.privacy-note{color:var(--muted);margin:18px 0 0;font-size:.78rem;line-height:1.7}.self-type-entry{background:var(--accent-light);text-align:center;max-width:580px;margin:18px auto 0}.self-type-entry h2{margin:0;font-size:1.35rem}.self-type-entry p{color:var(--muted);line-height:1.7}.report-section{text-align:left;margin-top:14px}.report-section summary{cursor:pointer;min-height:44px;color:var(--accent-text);align-items:center;padding:0 4px;font-weight:800;display:flex}.report-section summary:focus-visible,.report-toggle:focus-visible{outline-offset:2px;outline:3px solid #7e5fb055}.report-note{color:var(--muted);margin:4px 0 10px;font-size:.8rem;line-height:1.7}.report-toggles{gap:8px;display:grid}.report-toggle{min-height:44px;color:var(--text);background:#fff;border:1px solid #e5dbe9;font-weight:700}.report-toggle[aria-pressed=true]{border-color:var(--button);background:var(--accent-light);box-shadow:0 0 0 2px #7e5fb024}.flow-question{text-align:center;max-width:580px;margin:18px auto 0}.flow-question h2{margin:0;font-size:1.25rem}.flow-question p{color:var(--muted);line-height:1.7}.flow-answers{gap:8px;margin-top:14px;display:grid}.flow-answers button{min-height:44px}@media (width<=560px){.read-summary{grid-template-columns:1fr}.read-summary div{justify-content:space-between;align-items:center;display:flex}}.deep-dive{text-align:left;max-width:580px;margin:18px auto 0}.deep-dive h2{margin:0;font-size:1.25rem}.deep-dive p{line-height:1.7}.deep-dive-notice{color:var(--accent-text);font-weight:700}.deep-dive-note{color:var(--muted);font-size:.82rem}.deep-dive-chips{gap:8px;margin:12px 0;display:grid}.deep-dive .chip{min-height:44px;color:var(--text);text-align:left;background:#fff;border:1px solid #e5dbe9;border-radius:16px;font-weight:700}.deep-dive-label{margin:12px 0 6px;font-size:.85rem;font-weight:700;display:block}.deep-dive textarea{box-sizing:border-box;width:100%;font:inherit;resize:vertical;border:1px solid #e5dbe9;border-radius:16px;padding:12px 14px;line-height:1.6}.deep-dive textarea:focus-visible,.deep-dive .chip:focus-visible{outline-offset:2px;outline:3px solid #7e5fb055}.deep-dive-preview{background:var(--surface);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;margin:12px 0;padding:14px 16px;font-size:.9rem;line-height:1.8}.deep-dive-points{margin:0 0 12px;padding-left:1.2rem;font-weight:700;line-height:1.8}.deep-dive-answer{border:1px solid var(--accent);background:var(--accent-light);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px;margin:12px 0;padding:14px 16px}.deep-dive-error{color:#8a4b2d;margin:10px 0 0;font-size:.88rem}.placeholder-card{text-align:center;margin-top:18px}.account-note{background:var(--accent-light);text-align:left;border-radius:18px;margin-top:18px;padding:14px 16px}.account-note h2{margin:0 0 6px;font-size:.9rem}.account-note p,.account-note ul{color:var(--muted);margin:0;font-size:.84rem;line-height:1.7}.account-note ul{padding-left:1.2rem}.settings-account{margin-top:18px}.settings-heading{margin:0 0 6px;font-size:1.4rem}.partner-count{color:var(--muted);margin:6px 0 0;font-size:.88rem}.partner-list{text-align:left;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.partner-row{background:var(--accent-light);border-radius:18px;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 14px;display:flex}.partner-row-name{overflow-wrap:anywhere;flex-direction:column;flex:140px;min-width:0;font-weight:700;display:flex}.partner-row-mark{color:var(--muted);font-size:.76rem;font-weight:400}.partner-row button{min-height:44px;padding:10px 16px;font-size:.86rem}.partner-row .secondary{background:#fff}.partner-limit-note{color:var(--muted);margin:12px 0 0;font-size:.86rem;line-height:1.7}.zukan{gap:18px;margin-top:18px;display:grid}.zukan-card h2{margin:0 0 10px;font-size:1.3rem;line-height:1.4}.zukan-card h3{margin:0 0 6px;font-size:1.1rem}.zukan-card h4{color:var(--accent-text);margin:14px 0 4px;font-size:.85rem}.zukan-card p,.zukan-card li{line-height:1.8}.zukan-card ul{margin:0;padding-left:1.2em}.zukan-muted{color:var(--muted);margin:6px 0;font-size:.85rem}.zukan-axes{color:var(--accent-text);margin:0 0 8px;font-size:.8rem;font-weight:800}.zukan-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.zukan-card-preview{background:var(--accent-light);aspect-ratio:4/5;border-radius:20px;place-items:center;max-width:320px;margin:12px auto;display:grid;overflow:hidden}.zukan-card-preview img{width:100%;height:auto;display:block}.zukan-share{width:100%;max-width:320px;margin:12px auto 0;display:block}.zukan-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0;display:grid}.zukan-tile{color:var(--text);background:var(--accent-light);border:2px solid #0000;border-radius:22px;justify-items:center;gap:4px;padding:14px 8px;display:grid}.zukan-tile[aria-pressed=true]{border-color:var(--button);background:var(--accent)}.zukan-tile-image{object-fit:contain;text-align:center;width:5.5rem;height:5.5rem;font-size:3.4rem;line-height:5.5rem}.zukan-tile-name{font-size:1rem}.zukan-tile-catch{color:var(--muted);font-size:.72rem;font-weight:400;line-height:1.5}.zukan-detail{margin-top:8px}.zukan-him{align-items:center;gap:12px;display:flex}.zukan-him p{margin:0}.zukan-him-image{object-fit:contain;text-align:center;flex:none;width:4.5rem;height:4.5rem;font-size:3rem;line-height:4.5rem}.zukan-table{border-collapse:separate;border-spacing:4px;table-layout:fixed;text-align:center;width:100%;margin:14px 0}.zukan-table th{font-size:1.2rem;font-weight:400}.zukan-corner{color:var(--muted);font-size:.6rem}.zukan-cell{width:100%;min-height:44px;color:var(--text);background:var(--accent-light);border:2px solid #0000;border-radius:14px;padding:6px 0;font-size:.95rem;font-weight:400}.zukan-cell[aria-pressed=true]{border-color:var(--button);background:var(--accent)}
