*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.hidden{display:none}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{font-family:Hiragino Sans,Yu Gothic UI,Yu Gothic,Meiryo,system-ui,sans-serif;color:#17211d;background:#f2f0e8;font-synthesis:none;text-rendering:optimizeLegibility;--table: #073f32;--table-light: #0c5947;--ink: #17211d;--muted: #66716c;--line: #dedbd0;--ivory: #fffdf5;--paper: #fbfaf6;--vermilion: #c74731;--gold: #b38a3e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% -10%,#fffdf8 0,#f2f0e8 44rem)}button,input,select{font:inherit}button,select{min-height:44px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #e5b95c;outline-offset:3px}h1,h2,h3,p{margin-top:0}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.app-shell{min-height:100vh}.site-header{position:sticky;z-index:30;top:0;display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:10px max(18px,env(safe-area-inset-left));color:#fff;background:#073f32f5;border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.02em}.brand__mark{display:grid;width:42px;height:42px;place-items:center;color:var(--table);background:var(--ivory);border-radius:11px;box-shadow:0 3px #d4cdb9}.brand__mark svg{width:22px}.header-actions{display:flex;gap:4px}.header-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0}.header-button{min-width:44px;padding:8px 10px;color:#fff;background:transparent;border-radius:10px;font-size:13px;font-weight:700}.header-button:hover{background:#ffffff1a}.header-button svg{width:20px}main{width:min(100%,1100px);margin-inline:auto;padding:0 20px 80px}.app-intro{display:grid;justify-items:center;padding:38px 16px 24px;text-align:center}.app-intro>p:last-child{margin:8px 0 0;color:var(--muted)}.privacy-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;color:#245b4b;background:#e4f1eb;border:1px solid #c6dfd3;border-radius:999px;font-size:12px;font-weight:800}.privacy-pill svg{width:16px}.intro-kicker{display:flex;align-items:center;gap:8px;margin:20px 0 0;color:var(--table);font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(22px,4vw,32px);font-weight:800;letter-spacing:.03em}.intro-kicker svg{width:22px;color:var(--gold)}.steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);max-width:640px;margin:0 auto 22px}.steps:before{position:absolute;top:17px;left:16.66%;right:16.66%;height:2px;background:#d5d3ca;content:""}.steps__item{position:relative;display:grid;justify-items:center;gap:6px;color:#8b928e;font-size:12px;font-weight:800}.steps__number{z-index:1;display:grid;width:36px;height:36px;place-items:center;background:#e5e3da;border:3px solid #f2f0e8;border-radius:50%}.steps__number svg{width:16px}.steps__item.is-current{color:var(--table)}.steps__item.is-current .steps__number{color:#fff;background:var(--table);box-shadow:0 0 0 3px #bdd5cc}.steps__item.is-complete{color:#3b6f5e}.steps__item.is-complete .steps__number{color:#fff;background:#3b7d67}.step-panel{padding:clamp(22px,5vw,48px);background:#fffdf8f5;border:1px solid #e1ded4;border-radius:28px;box-shadow:0 24px 60px #04221a1a}.step-panel__heading{max-width:690px;margin-bottom:30px}.step-panel__heading h1{margin-bottom:10px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(28px,5vw,44px);line-height:1.25;letter-spacing:.02em}.step-panel__heading>p:last-child{margin-bottom:0;color:var(--muted);line-height:1.8}.eyebrow{margin-bottom:7px;color:#7a6333;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.condition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field-block{min-width:0;padding:0;border:0}.field-block legend,.select-field>span,.number-stepper>label{display:block;margin-bottom:9px;color:#38433e;font-size:14px;font-weight:800}.segmented{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;padding:4px;background:#eceae1;border-radius:13px}.segmented button{padding:8px;color:#59645f;background:transparent;border:0;border-radius:9px;font-weight:800;white-space:nowrap}.segmented button.is-selected{color:#fff;background:var(--table);box-shadow:0 3px 8px #073f322e}.subpanel{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:18px;margin-top:24px;padding:18px;background:#f5f3eb;border:1px solid var(--line);border-radius:18px}.select-field{display:block}.select-field select{width:100%;padding:0 38px 0 13px;color:var(--ink);background:#fff;border:1px solid #cfcbbf;border-radius:11px;font-weight:700}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px}.toggle-row strong,.toggle-row small{display:block}.toggle-row small{margin-top:3px;color:var(--muted);line-height:1.4}.toggle-row--disabled{opacity:.48}.toggle{position:relative;flex:0 0 auto;width:50px;height:30px}.toggle input{position:absolute;width:1px;height:1px;opacity:0}.toggle span{position:absolute;inset:0;background:#bbbdb8;border-radius:999px;transition:background .18s ease}.toggle span:after{position:absolute;top:4px;left:4px;width:22px;height:22px;background:#fff;border-radius:50%;box-shadow:0 2px 5px #0000003d;content:"";transition:transform .18s ease}.toggle input:checked+span{background:var(--table-light)}.toggle input:checked+span:after{transform:translate(20px)}.toggle input:focus-visible+span{outline:3px solid #e5b95c;outline-offset:3px}.number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.number-stepper__control{display:grid;grid-template-columns:48px 1fr 48px;overflow:hidden;border:1px solid #cbc8bd;border-radius:13px}.number-stepper__control button{display:grid;place-items:center;color:var(--table);background:#eef4f1;border:0}.number-stepper__control button:hover{background:#dcebe4}.number-stepper__control button svg{width:18px}.number-stepper__control input{min-width:0;text-align:center;background:#fff;border:0;border-inline:1px solid #d8d4c8;font-size:18px;font-weight:900}.notice{display:flex;align-items:flex-start;gap:11px;margin-top:24px;padding:14px 16px;border-radius:14px;font-size:14px;line-height:1.6}.notice svg{flex:0 0 auto;width:20px;margin-top:2px}.notice p{margin:0}.notice--info{color:#285448;background:#e9f2ee;border:1px solid #cfe1da}.notice--warning{color:#72532a;background:#fff5dc;border:1px solid #ecd7a0}.notice--success{color:#285448;background:#e5f3ec;border:1px solid #badbcf}.inline-warning{display:flex;align-items:center;gap:8px;margin-top:8px;color:#7a552b;font-size:13px;font-weight:700}.inline-warning svg{width:17px}.spinner{flex:0 0 auto;width:20px;height:20px;border:3px solid rgba(7,63,50,.2);border-top-color:var(--table);border-radius:50%;animation:spin .7s linear infinite}.model-progress{display:block;width:100%;height:8px;margin-top:8px;overflow:hidden;accent-color:var(--table-light);border:0;border-radius:99px}@keyframes spin{to{transform:rotate(360deg)}}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 17px;border:1px solid transparent;border-radius:12px;font-weight:900;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button svg{width:19px}.button--large{min-height:54px;padding-inline:23px}.button--primary{color:#fff;background:var(--table);box-shadow:0 8px 18px #073f3233}.button--primary:hover{background:#0a4d3d}.button--quiet{color:#31453e;background:#f3f1e9;border-color:#d8d4c8}.button--dark{color:#fff;background:#ffffff14;border-color:#fff3}.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.step-actions--end{justify-content:flex-end}.scan-card{display:grid;grid-template-columns:1.4fr .9fr;overflow:hidden;margin-bottom:28px;color:#fff;background:var(--table);border-radius:20px;box-shadow:0 14px 32px #073f322e}.scan-card__copy{padding:28px}.scan-card__copy h2{margin:14px 0 8px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(23px,4vw,31px)}.scan-card__copy p{max-width:35rem;color:#d7e6e0;line-height:1.7}.scan-card__copy .button{color:var(--table);background:#fffdf5}.beta-badge{display:inline-flex;padding:5px 9px;color:#ffefc3;background:#ffe08b1f;border:1px solid rgba(255,231,166,.36);border-radius:999px;font-size:11px;font-weight:900}.scan-preview{min-height:230px;padding:14px;background:#032f25}.scan-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:13px}.scan-preview__image{position:relative;overflow:hidden;border-radius:13px}.scan-preview__image img{display:block;width:100%;height:auto;-o-object-fit:initial;object-fit:initial}.detection-box{position:absolute;border:2px solid #d9f6e9;border-radius:4px;box-shadow:0 0 0 1px #002d22b3;pointer-events:none}.detection-box b{position:absolute;top:-18px;left:-2px;display:grid;min-width:18px;height:18px;place-items:center;padding-inline:3px;color:#073f32;background:#d9f6e9;border-radius:4px 4px 0 0;font-size:10px}.detection-box small{position:absolute;right:-2px;bottom:-17px;padding:2px 3px;color:#073f32;background:#d9f6e9;border-radius:0 0 4px 4px;font-size:9px;font-weight:900}.detection-box--low{border-color:#ff7f65}.detection-box--low b,.detection-box--low small{color:#fff;background:#ba3c2c}.scan-preview__empty{display:grid;height:100%;min-height:202px;place-items:center;align-content:center;gap:11px;color:#afc9bf;border:2px dashed rgba(255,255,255,.23);border-radius:13px;text-align:center;font-size:13px;font-weight:700}.scan-preview__empty svg{width:34px;height:34px}.manual-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:38px 0 12px}.manual-heading h2{margin-bottom:0;font-size:26px}.manual-heading>p{display:flex;align-items:center;gap:7px;margin-bottom:0;color:var(--muted);font-size:13px}.manual-heading svg{width:17px}.recognition-review{margin-top:16px;padding:17px;background:#f5f3eb;border:1px solid var(--line);border-radius:16px}.recognition-review h3{margin-bottom:4px;font-size:16px}.recognition-review p{margin-bottom:13px;color:var(--muted);font-size:12px;line-height:1.6}.recognition-review ol{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.recognition-review li{position:relative;display:flex;align-items:center;gap:7px;min-width:112px;padding:8px;background:#fff;border:1px solid #d6d4cb;border-radius:11px}.recognition-review li.is-low{background:#fff2ed;border-color:#d98270}.recognition-review li>span:last-child{display:grid;color:var(--muted);font-size:10px}.recognition-review li strong{color:var(--table);font-size:13px}.recognition-review li.is-low strong{color:#a43c2c}.recognition-review__order{position:absolute;top:-7px;left:-6px;display:grid;width:22px;height:22px;place-items:center;color:#fff;background:var(--table);border-radius:50%;font-size:10px;font-weight:900}.tile-section{padding:20px 0;border-top:1px solid var(--line)}.tile-section__heading{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:14px}.tile-section__heading h3{margin-bottom:4px;font-size:17px}.tile-section__heading p{margin-bottom:0;color:var(--muted);font-size:13px}.count-badge{flex:0 0 auto;padding:5px 9px;color:#31604f;background:#e7f0ec;border-radius:999px;font-size:12px;font-weight:900}.count-badge--warning{color:#8b4a36;background:#fbe7df}.selected-tiles{display:flex;flex-wrap:wrap;align-items:end;gap:7px;min-height:62px}.tile-face{position:relative;display:inline-grid;flex:0 0 auto;width:54px;height:72px;place-items:center;padding:4px;color:#17211d;background:linear-gradient(145deg,#fffef9,#f7f2e4);border:1px solid #d8d0bd;border-radius:7px;box-shadow:0 4px #d4cbb4,0 8px 14px #20252221}button.tile-face:hover{transform:translateY(-2px);border-color:#a78b50}.tile-face--compact{width:46px;height:61px}.tile-face--selected{outline:3px solid var(--gold)}.tile-glyph{display:grid;place-items:center;text-align:center;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:20px;font-weight:900;line-height:1.03;writing-mode:vertical-rl;text-orientation:upright}.tile-face--compact .tile-glyph{font-size:17px}.tile-glyph--red{color:#bc3328}.tile-glyph--green{color:#177053}.tile-add{display:inline-grid;width:46px;height:61px;place-items:center;align-content:center;gap:1px;color:#4d665d;background:transparent;border:2px dashed #b9c0bc;border-radius:8px;font-size:10px;font-weight:800}.tile-add:hover{color:var(--table);background:#eef4f1;border-color:#6d9183}.tile-add svg{width:17px}.dora-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.meld-list{display:grid;gap:10px}.meld-card{display:flex;align-items:center;gap:13px;padding:11px;background:#f3f1e9;border:1px solid #ddd8ca;border-radius:13px}.meld-card__label{min-width:44px;font-size:13px;font-weight:900}.selected-tiles--meld{min-height:0}.meld-card .icon-button{margin-left:auto}.meld-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip-button{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;color:#315347;background:#edf3f0;border:1px solid #c9dad3;border-radius:999px;font-size:13px;font-weight:800}.chip-button svg{width:15px}.issue-list{margin-top:20px;padding:17px 20px;color:#712f23;background:#fff0eb;border:1px solid #efc1b5;border-radius:15px}.issue-list h3{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:16px}.issue-list h3 svg{width:20px}.issue-list ul{margin:0;padding-left:21px;line-height:1.75}.modal-backdrop{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:20px;background:#01120db8;backdrop-filter:blur(7px)}.settings-dialog,.tile-picker{width:min(100%,620px);max-height:min(90vh,820px);overflow:auto;padding:25px;background:var(--ivory);border-radius:22px;box-shadow:0 30px 80px #0000004d}.tile-picker{width:min(100%,760px)}.modal-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:20px}.modal-heading h2{margin-bottom:0;font-size:26px}.icon-button{width:44px;height:44px;flex:0 0 auto;color:#43544e;background:#efede6;border-radius:11px}.icon-button svg{width:20px}.icon-button--danger{color:#9a3d2c;background:#fae9e3}.icon-button--light{color:#fff;background:#ffffff1f}.settings-list{display:grid;gap:1px}.settings-list .toggle-row{padding:11px 0;border-bottom:1px solid var(--line)}.dialog-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.tile-picker__groups{display:grid;gap:20px}.tile-picker__group h3{margin-bottom:9px;color:#55605b;font-size:13px}.tile-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:7px}.tile-grid .tile-face{width:100%;min-width:0}.camera-modal{position:fixed;z-index:80;inset:0;display:grid;grid-template-rows:auto 1fr auto;color:#fff;background:#021914}.camera-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));background:#052d24}.camera-toolbar h2{margin:0;font-size:20px}.camera-toolbar .eyebrow{margin-bottom:3px;color:#dbc88f}.camera-stage{position:relative;min-height:0;overflow:hidden;background:#000}.camera-stage video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.camera-guide{position:absolute;inset:0}.camera-zone{position:absolute;display:grid;place-items:end center;border:2px solid rgba(255,239,188,.9);border-radius:8px;box-shadow:0 0 0 9999px #00000030}.camera-zone span{transform:translateY(-4px);padding:3px 7px;color:#132a22;background:#fff8dceb;border-radius:5px;font-size:10px;font-weight:900}.camera-zone--hand{left:3%;right:3%;top:14%;height:47%}.camera-zone--winning{left:3%;width:15%;top:68%;bottom:4%}.camera-zone--meld{left:20%;width:39%;top:68%;bottom:4%}.camera-zone--dora{left:61%;width:17%;top:68%;bottom:4%}.camera-zone--ura{inset:68% 3% 4% 80%}.camera-error{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:14px;padding:30px;color:#fcebc7;background:#0a2c24;text-align:center}.camera-error svg{width:38px}.camera-error p{max-width:32rem;line-height:1.7}.camera-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:14px max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#052d24}.button--camera{color:#092a22;background:#fffdf5}.camera-footer>p{display:flex;align-items:center;gap:6px;width:100%;justify-content:center;margin:0;color:#afc9c0;font-size:11px}.camera-footer>p svg{width:14px}.result-panel{overflow:hidden}.result-hero{margin:calc(clamp(22px,5vw,48px)*-1);margin-bottom:28px;padding:44px 28px 36px;color:#fff;background:radial-gradient(circle at 50% 0,#15715b,var(--table) 65%);text-align:center}.result-hero .eyebrow{color:#eedca3}.result-hero h1{margin-bottom:4px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:24px}.result-score{display:flex;align-items:baseline;justify-content:center;gap:6px}.result-score strong{font-family:Georgia,Yu Mincho,serif;font-size:clamp(58px,12vw,92px);line-height:1.1;letter-spacing:-.04em}.result-score span{font-size:22px;font-weight:900}.result-summary{display:flex;justify-content:center;gap:9px;margin-bottom:0;font-size:18px;font-weight:900}.result-summary span{padding-inline:9px;color:#18342c;background:#f3dd96;border-radius:999px}.result-total{margin:12px 0 0;color:#d5e5df;font-size:13px}.result-total strong{color:#fff}.result-hand{display:flex;flex-wrap:wrap;align-items:end;gap:18px;padding:18px;background:#ede9dc;border-radius:16px}.winning-divider{align-self:stretch;width:2px;min-height:50px;margin-inline:3px;background:#c74731;border-radius:99px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.result-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:17px}.result-card:nth-child(2){grid-row:span 2}.result-card__heading{display:flex;align-items:center;gap:9px;margin-bottom:16px}.result-card__heading svg{width:21px;color:var(--gold)}.result-card__heading h2{margin:0;font-size:19px}.payment-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #ebe8df}.payment-row strong{color:var(--table);font-size:20px}.payment-row--bonus strong{color:var(--vermilion)}.yaku-list{display:grid;gap:14px}.yaku-list article{display:flex;align-items:start;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid #ebe8df}.yaku-list article:last-child{padding-bottom:0;border-bottom:0}.yaku-list h3{margin-bottom:4px;font-size:16px}.yaku-list p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.yaku-list article>span{flex:0 0 auto;padding:5px 8px;color:#fff;background:var(--table);border-radius:8px;font-size:12px;font-weight:900}.fu-total{display:flex;align-items:baseline;gap:5px;color:var(--table)}.fu-total strong{font-family:Georgia,serif;font-size:40px}.fu-total span{font-weight:900}.fu-notes{margin:7px 0 0;padding-left:20px;color:var(--muted);font-size:13px;line-height:1.7}.result-disclaimer{margin:22px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.toast{position:fixed;z-index:55;right:20px;bottom:max(20px,env(safe-area-inset-bottom));max-width:min(430px,calc(100vw - 40px));padding:14px 18px;color:#fff;background:#812f24;border-radius:13px;box-shadow:0 14px 40px #0000003d;font-weight:800}footer{display:flex;justify-content:space-between;gap:20px;padding:26px max(22px,calc((100vw - 1060px)/2));color:#bccdc6;background:#062f26;font-size:12px}footer p{margin:0}footer span{margin-left:8px;color:#e4c987}@media(max-width:760px){.site-header{min-height:62px}.brand{font-size:14px}.brand__mark{width:36px;height:36px}.header-button span{display:none}main{padding-inline:12px}.app-intro{padding-top:26px}.intro-kicker{font-size:22px}.step-panel{padding:22px 16px;border-radius:20px}.condition-grid,.subpanel,.number-grid,.dora-grid,.result-grid{grid-template-columns:1fr}.condition-grid{gap:18px}.subpanel{gap:8px}.scan-card{grid-template-columns:1fr}.scan-card__copy{padding:23px 20px}.scan-preview{min-height:180px}.scan-preview__empty{min-height:150px}.manual-heading{align-items:start;flex-direction:column;gap:6px}.step-actions{align-items:stretch;flex-direction:column-reverse}.step-actions .button{width:100%}.step-actions--end{flex-direction:column}.modal-backdrop{align-items:end;padding:0}.settings-dialog,.tile-picker{width:100%;max-height:92vh;border-radius:22px 22px 0 0;padding:21px 14px max(21px,env(safe-area-inset-bottom))}.tile-grid{grid-template-columns:repeat(6,1fr)}.dialog-actions{align-items:stretch;flex-direction:column-reverse}.dialog-actions .button{width:100%}.meld-card{align-items:flex-start;flex-wrap:wrap}.meld-card .icon-button{margin-left:0}.result-card:nth-child(2){grid-row:auto}.result-hand{padding:13px}.result-hero{padding-inline:14px}footer{align-items:flex-start;flex-direction:column;padding-inline:20px}}@media(max-width:390px){.tile-face{width:49px;height:67px}.tile-face--compact,.tile-add{width:44px;height:57px}.tile-grid{gap:5px}.segmented button{font-size:12px}}@media(orientation:portrait)and (max-width:900px){.camera-stage:before{position:absolute;z-index:5;top:10px;left:50%;transform:translate(-50%);padding:5px 9px;color:#4b3518;background:#ffe8aa;border-radius:999px;content:"スマホを横向きにすると撮りやすくなります";font-size:10px;font-weight:900;white-space:nowrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
