:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#0c0b09;--ink-2:#17150f;--glass:#100e0bb8;--paper:#f2ede3;--muted:#9a9184;--gold:#c9a876;--gold-soft:#c9a87659;--line:#f2ede329;--good:#a9c4a0;--serif:"Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", Georgia, serif;--sans:"Hiragino Sans", "Noto Sans JP", system-ui, -apple-system, sans-serif;font-family:var(--sans)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0}[hidden]{display:none!important}html,body,#app{background:var(--ink);height:100%;color:var(--paper);overscroll-behavior:none}button,.tap-layer{touch-action:manipulation}:focus-visible{outline:1px solid var(--gold);outline-offset:3px}.screen{flex-direction:column;min-height:100%;display:flex}button{font:inherit;letter-spacing:.06em;background:var(--paper);color:var(--ink);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:15px 26px;font-size:14px;font-weight:600;transition:transform .12s,opacity .12s}button:active{transform:scale(.97)}button:disabled{opacity:.35;cursor:default;transform:none}button.ghost{color:var(--paper);border-color:var(--line);background:0 0}input[type=range]{accent-color:var(--gold)}.privacy{letter-spacing:.08em;color:var(--muted);text-align:center;font-size:11px}.camera{background:#000;height:100dvh;position:relative;overflow:hidden}.camera .viewport{position:absolute;inset:0;overflow:hidden}.camera video{object-fit:cover;transform-origin:50%;width:100%;height:100%}.tap-layer{position:absolute;inset:0}.grid-overlay{pointer-events:none;--guide-line:#f2ede324;position:absolute;inset:0}.grid-overlay.guide-thirds{background:linear-gradient(to right, transparent calc(33.33% - .5px), var(--guide-line) 33.33%, transparent calc(33.33% + .5px)), linear-gradient(to right, transparent calc(66.66% - .5px), var(--guide-line) 66.66%, transparent calc(66.66% + .5px)), linear-gradient(to bottom, transparent calc(33.33% - .5px), var(--guide-line) 33.33%, transparent calc(33.33% + .5px)), linear-gradient(to bottom, transparent calc(66.66% - .5px), var(--guide-line) 66.66%, transparent calc(66.66% + .5px))}.grid-overlay.guide-phi{background:linear-gradient(to right, transparent calc(38.2% - .5px), var(--guide-line) 38.2%, transparent calc(38.2% + .5px)), linear-gradient(to right, transparent calc(61.8% - .5px), var(--guide-line) 61.8%, transparent calc(61.8% + .5px)), linear-gradient(to bottom, transparent calc(38.2% - .5px), var(--guide-line) 38.2%, transparent calc(38.2% + .5px)), linear-gradient(to bottom, transparent calc(61.8% - .5px), var(--guide-line) 61.8%, transparent calc(61.8% + .5px))}.grid-overlay.guide-diagonal{background:linear-gradient(to top right, transparent calc(50% - .5px), var(--guide-line) 50%, transparent calc(50% + .5px)), linear-gradient(to bottom right, transparent calc(50% - .5px), var(--guide-line) 50%, transparent calc(50% + .5px))}.grid-overlay.guide-center{background:radial-gradient(circle closest-side at center, transparent calc(62% - 1px), var(--guide-line) 62%, transparent calc(62% + 1px)), linear-gradient(to right, transparent calc(50% - .5px), var(--guide-line) 50%, transparent calc(50% + .5px)), linear-gradient(to bottom, transparent calc(50% - .5px), var(--guide-line) 50%, transparent calc(50% + .5px))}.focus-ring{border:1.5px solid var(--gold);pointer-events:none;opacity:0;filter:drop-shadow(0 0 2px #00000073);border-radius:4px;width:76px;height:76px;margin:-38px 0 0 -38px;position:absolute}.focus-ring.active{animation:1.1s ease-out focus-ring}@keyframes focus-ring{0%{opacity:1;transform:scale(1.25)}25%{transform:scale(1)}75%{opacity:1}to{opacity:0}}.shutter-flash{opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.shutter-flash.active{animation:.25s ease-out shutter-flash}@keyframes shutter-flash{0%{opacity:.85}to{opacity:0}}.camera-error{background:var(--glass);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);text-align:center;border-radius:20px;gap:16px;padding:24px 20px;font-size:14px;line-height:1.8;display:grid;position:absolute;top:38%;left:20px;right:20px}.subject-marker{pointer-events:none;--bk:16px;--bw:1.5px;background:linear-gradient(var(--gold), var(--gold)) left top / var(--bk) var(--bw), linear-gradient(var(--gold), var(--gold)) left top / var(--bw) var(--bk), linear-gradient(var(--gold), var(--gold)) right top / var(--bk) var(--bw), linear-gradient(var(--gold), var(--gold)) right top / var(--bw) var(--bk), linear-gradient(var(--gold), var(--gold)) left bottom / var(--bk) var(--bw), linear-gradient(var(--gold), var(--gold)) left bottom / var(--bw) var(--bk), linear-gradient(var(--gold), var(--gold)) right bottom / var(--bk) var(--bw), linear-gradient(var(--gold), var(--gold)) right bottom / var(--bw) var(--bk);filter:drop-shadow(0 0 2px #00000073);background-repeat:no-repeat;transition:all .2s;position:absolute}.subject-marker .label{color:var(--gold);border:1px solid var(--gold-soft);background:var(--glass);-webkit-backdrop-filter:blur(10px);letter-spacing:.22em;text-indent:.22em;border-radius:999px;padding:4px 10px;font-size:10px;font-weight:600;position:absolute;top:-30px;left:0}.subject-marker.sub{background:linear-gradient(var(--paper), var(--paper)) left top / var(--bk) var(--bw), linear-gradient(var(--paper), var(--paper)) left top / var(--bw) var(--bk), linear-gradient(var(--paper), var(--paper)) right top / var(--bk) var(--bw), linear-gradient(var(--paper), var(--paper)) right top / var(--bw) var(--bk), linear-gradient(var(--paper), var(--paper)) left bottom / var(--bk) var(--bw), linear-gradient(var(--paper), var(--paper)) left bottom / var(--bw) var(--bk), linear-gradient(var(--paper), var(--paper)) right bottom / var(--bk) var(--bw), linear-gradient(var(--paper), var(--paper)) right bottom / var(--bw) var(--bk);opacity:.75;background-repeat:no-repeat}.subject-marker.sub .label{color:var(--paper);border-color:var(--line)}.subject-chips{top:calc(max(18px, env(safe-area-inset-top)) + 72px);z-index:3;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;right:18px}.subject-chip{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(12px);border-radius:999px;align-items:center;display:inline-flex;overflow:hidden}.subject-chip.primary{border-color:var(--gold-soft)}.subject-chip .chip-main{color:var(--paper);letter-spacing:.12em;background:0 0;border:none;padding:7px 4px 7px 12px;font-size:11px}.subject-chip.primary .chip-main{color:var(--gold)}.subject-chip .chip-remove{color:var(--muted);background:0 0;border:none;padding:7px 10px 7px 6px;font-size:11px}.coach-bubble{top:max(18px, env(safe-area-inset-top));background:var(--glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);letter-spacing:.02em;border-radius:18px;min-height:48px;padding:13px 16px;font-size:14px;line-height:1.7;transition:border-color .3s;position:absolute;left:18px;right:96px}.coach-bubble.praise{border-color:var(--good)}.coach-bubble.chance{border-color:var(--gold);box-shadow:0 0 24px var(--gold-soft)}.score-badge{top:max(18px, env(safe-area-inset-top));background:var(--glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--gold-soft);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:62px;height:62px;display:flex;position:absolute;right:18px}.score-badge span{font-family:var(--serif);color:var(--paper);font-size:23px;font-weight:600;line-height:1}.score-badge small{letter-spacing:.3em;text-indent:.3em;color:var(--muted);font-size:8px}.subject-chips:not([hidden])~.score-breakdown{top:calc(max(18px, env(safe-area-inset-top)) + 156px)}.score-breakdown{top:calc(max(18px, env(safe-area-inset-top)) + 72px);background:var(--glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);letter-spacing:.1em;color:var(--muted);text-align:justify;text-align-last:justify;border-radius:14px;gap:5px;padding:10px 14px;font-size:11px;display:grid;position:absolute;right:18px}.adjust-panel{background:var(--glass);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:20px;flex-direction:column;align-items:center;gap:8px;padding:12px 14px 0;display:flex;position:absolute;bottom:128px;left:18px;right:18px;overflow:hidden}.dial-modes{gap:8px;display:flex}.chip{letter-spacing:.1em;color:var(--muted);border:1px solid var(--line);background:0 0;padding:7px 13px;font-size:11px}.chip[aria-pressed=true]{color:var(--ink);background:var(--paper);border-color:var(--paper)}.chip-action{color:var(--gold);border-color:var(--gold-soft)}.dial-value{font-family:var(--serif);letter-spacing:.12em;color:var(--gold);min-height:22px;font-size:17px;line-height:22px}.dial{touch-action:none;cursor:ew-resize;display:block}.small-ctrl.attention{border-color:var(--gold);animation:1.8s ease-in-out infinite attention-pulse}@keyframes attention-pulse{0%,to{box-shadow:0 0 0 0 var(--gold-soft)}50%{box-shadow:0 0 0 9px #c9a87600}}.camera-controls{bottom:max(24px, env(safe-area-inset-bottom));justify-content:center;align-items:center;gap:24px;display:flex;position:absolute;left:0;right:0}.shutter{border:1.5px solid var(--paper);background:0 0;border-radius:50%;width:76px;height:76px;padding:0;position:relative}.shutter:after{content:"";background:var(--paper);border-radius:50%;transition:transform .12s;position:absolute;inset:5px}.shutter:active:after{transform:scale(.9)}.small-ctrl{background:var(--glass);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);width:56px;height:56px;color:var(--paper);letter-spacing:.08em;border-radius:50%;padding:0;font-size:10.5px;font-weight:500;line-height:1.5}.review{background:radial-gradient(100% 50% at 50% 100%, #c9a8760d, transparent 60%), var(--ink);justify-content:center;align-items:center;gap:18px;padding:20px}.review img{object-fit:contain;border-radius:6px;width:100%;max-height:58dvh}.ai-comment{font-family:var(--serif);letter-spacing:.05em;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;width:100%;padding:18px 6px;font-size:15px;line-height:2}.blur-control{letter-spacing:.14em;width:100%;color:var(--muted);white-space:nowrap;align-items:center;gap:14px;padding:2px 6px;font-size:12px;display:flex}.blur-control input[type=range]{accent-color:var(--gold);flex:1}.review .actions{gap:12px;width:100%;display:flex}.review .actions button{flex:1}.burst-grid{grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}.burst-item{border:1px solid var(--line);background:var(--ink-2);border-radius:6px;padding:0;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.burst-item img{width:100%;display:block}.burst-item.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), 0 0 20px var(--gold-soft)}.burst-item .medal{background:var(--glass);-webkit-backdrop-filter:blur(10px);border:1px solid var(--gold-soft);border-radius:999px;padding:4px 8px;font-size:16px;line-height:1;position:absolute;top:8px;left:8px}.reasons{border-top:1px solid var(--line);width:100%;padding:16px 4px 4px;font-size:13px;line-height:1.9}.reasons strong{letter-spacing:.18em;color:var(--gold);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.reasons ul{padding:0;list-style:none}.reasons li{font-family:var(--serif);letter-spacing:.04em;color:var(--paper)}.reasons li:before{content:"— ";color:var(--gold)}.history{padding:max(28px, env(safe-area-inset-top)) 20px 28px;background:radial-gradient(120% 40% at 50% 0%, #c9a8760f, transparent 60%), var(--ink);gap:18px}.history header{justify-content:space-between;align-items:baseline;display:flex}.history h2{font-family:var(--serif);letter-spacing:.08em;font-size:24px;font-weight:500}.level-badge{border:1px solid var(--line);letter-spacing:.08em;color:var(--muted);border-radius:999px;padding:6px 14px;font-size:11px}.history-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.history-grid figure{border:1px solid var(--line);background:var(--ink-2);border-radius:6px;overflow:hidden}.history-grid img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.history-grid figcaption{font-family:var(--serif);letter-spacing:.1em;color:var(--gold);padding:8px 10px 4px;font-size:13px}.photo-actions{border-top:1px solid var(--line);margin-top:6px;display:flex}.photo-actions button{color:var(--muted);letter-spacing:.14em;background:0 0;border:none;border-radius:0;flex:1;padding:9px 0;font-size:11px}.photo-actions button+button{border-left:1px solid var(--line)}.history>button.ghost{align-self:center;width:min(100%,280px)}.toast{left:20px;right:20px;bottom:max(28px, env(safe-area-inset-bottom));background:var(--glass);-webkit-backdrop-filter:blur(18px);border:1px solid var(--gold-soft);text-align:center;letter-spacing:.04em;z-index:10;border-radius:16px;padding:14px 18px;font-size:13px;line-height:1.7;position:fixed}.empty{font-family:var(--serif);color:var(--muted);text-align:center;letter-spacing:.08em;padding:56px 0;line-height:2}
