:root{color:#23201c;font-synthesis:none;text-rendering:optimizelegibility;--paper:#f8f3e9;--ink:#23201c;--muted:#716b61;--red:#b33a2f;--line:#d5cdbf;--yellow:#e7bd51;background:#e9e3d7;font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}*{box-sizing:border-box}html{background:#e9e3d7;min-width:320px}body{min-width:320px;min-height:100svh;margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.app-shell{background:var(--paper);width:min(100%,680px);min-height:100svh;margin:0 auto;box-shadow:0 0 60px #28201614}.site-header{border-bottom:1px solid var(--line);align-items:center;height:64px;padding:0 22px;display:flex}.brand{color:var(--ink);letter-spacing:-.04em;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-weight:900;text-decoration:none}.page{min-height:calc(100svh - 64px)}.eyebrow{color:var(--red);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:.75rem;font-weight:800}h1{letter-spacing:-.055em;margin:0;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:clamp(2rem,8.5vw,3.35rem);line-height:1.25}.lead{color:var(--muted);line-height:1.9}.primary-button{border:1px solid var(--ink);background:var(--ink);color:#fff;width:100%;min-height:58px;box-shadow:5px 5px 0 var(--yellow);border-radius:4px;justify-content:space-between;align-items:center;padding:15px 20px;font-weight:700;transition:transform .16s,box-shadow .16s;display:flex}.primary-button:not(:disabled):active{box-shadow:2px 2px 0 var(--yellow);transform:translate(3px,3px)}.primary-button:disabled{opacity:.36;cursor:not-allowed;box-shadow:none}.home-page{min-height:100svh;padding:max(24px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));grid-template-rows:auto 1fr auto auto;gap:24px;display:grid;overflow:hidden}.home-page__brand{letter-spacing:-.04em;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:1rem;font-weight:900}.home-page__visual{place-items:center;min-height:220px;display:grid;position:relative}.stamp{z-index:4;aspect-ratio:1;border:4px double var(--red);width:78px;color:var(--red);border-radius:50%;place-items:center;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:.95rem;font-weight:900;display:grid;position:absolute;top:14px;right:6px;transform:rotate(9deg)}.home-page__copy h1{margin-bottom:18px}.home-page__action{gap:10px;display:grid}.duration{text-align:center;color:var(--muted);margin:0;font-size:.8rem}.cat{flex:none;position:relative}.cat--large{width:185px;height:190px}.cat--small{width:76px;height:78px}.cat__face{z-index:2;border:2px solid var(--ink);background:#d6b18a;border-radius:47% 47% 43% 43%;position:absolute;inset:17% 7% 0;box-shadow:inset 0 -13px #74492a14}.cat__ear{border:2px solid var(--ink);background:#d6b18a;width:38%;height:42%;position:absolute;top:3%;transform:rotate(45deg)}.cat__ear--left{border-radius:7px 50% 5px;left:11%}.cat__ear--right{border-radius:50% 7px 50% 5px;right:11%}.cat__eye{background:var(--ink);border-radius:5px;width:22%;height:3px;position:absolute;top:42%}.cat__eye--left{left:18%;transform:rotate(5deg)}.cat__eye--right{right:18%;transform:rotate(-5deg)}.cat__nose{border:4px solid #0000;border-top:5px solid #6f4339;position:absolute;top:55%;left:calc(50% - 4px)}.cat__mouth{border-bottom:2px solid var(--ink);border-radius:50%;width:24px;height:10px;position:absolute;top:60%;left:calc(50% - 12px)}.cat__tail{z-index:1;border:10px solid #d6b18a;border-left:0;border-radius:0 60px 60px 0;width:50%;height:68%;position:absolute;bottom:-2%;right:-15%;transform:rotate(18deg)}.cat--question .cat__eye--right{transform:rotate(-12deg)}.cat--verdict .cat__face{background:#cf9e76}.setup-page,.objection-page,.result-page{padding:36px 22px 48px}.setup-page{padding-top:24px}.setup-page__intro{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:20px;display:flex}.setup-page__intro h1{font-size:clamp(1.65rem,6.6vw,2.7rem);line-height:1.35}.setup-page__cat{flex:none;justify-items:end;display:grid}.setup-page__cat p{color:var(--muted);text-align:right;margin:0 -2px 2px 0;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:.65rem;line-height:1.55}.setup-form{gap:22px;margin-top:22px;display:grid}.field{grid-template-columns:40px 1fr;gap:8px 10px;display:grid}.field--weights{border:0;margin:0;padding:0}.field__number{color:var(--red);grid-row:1/4;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:.8rem;font-weight:900}.field__label{font-weight:800}.field select,.weight-input{border:1px solid var(--ink);width:100%;min-height:50px;color:var(--ink);background:#fffdf7;border-radius:3px}.field select{padding:0 14px}.weight-input{align-items:center;padding:0 14px;display:flex}.weight-input input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:1.35rem;font-weight:700}.weight-input span{color:var(--muted);font-weight:700}.field__note,.field__error{font-size:.72rem;line-height:1.6}.field__note{color:var(--muted)}.field__error{color:var(--red);font-weight:700}.privacy-note{border-left:3px solid var(--yellow);color:var(--muted);background:#f1eadc;margin:0;padding:12px 14px;font-size:.72rem;line-height:1.7}.location-options{gap:8px;display:grid}.location-button{border:1px solid var(--ink);background:var(--ink);color:#fff;text-align:left;border-radius:3px;min-height:50px;padding:10px 14px;font-weight:700}.location-button--success{color:#355337;background:#edf2e8;border-color:#49694b;box-shadow:inset 4px 0 #49694b}.location-button:disabled{opacity:.65;cursor:wait}.text-button{width:fit-content;color:var(--muted);background:0 0;border:0;border-bottom:1px solid;padding:2px 0;font-size:.78rem}.location-status{color:var(--red);font-size:.72rem;line-height:1.6}.location-status--success{color:#416a43}.location-privacy{color:var(--muted);font-size:.67rem;line-height:1.5}.outside-tokyo{border-left:3px solid var(--red);background:#f3e8dc;gap:4px;padding:12px 14px;font-size:.75rem;line-height:1.55;display:grid}.outside-tokyo strong{font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:.9rem}.outside-tokyo button{width:fit-content;color:var(--ink);background:0 0;border:0;border-bottom:1px solid;margin-top:5px;padding:3px 0;font-weight:700}.weight-list{gap:12px;display:grid}.field--weights .weight-list,.field--weights .add-cat,.field--weights>.field__note{grid-column:2}.weight-row{grid-template-columns:1fr auto;align-items:center;gap:6px 8px;display:grid}.weight-row .weight-input:first-child{grid-column:1/3}.weight-row__name{color:var(--muted);grid-column:1/3;font-size:.75rem;font-weight:700}.weight-row .field__error{grid-column:1/3}.remove-cat,.add-cat{color:var(--muted);background:0 0;border:0;border-bottom:1px solid;font-size:.75rem}.remove-cat{padding:4px 1px}.add-cat{width:fit-content;color:var(--ink);margin-top:2px;padding:4px 0;font-weight:700}.progress{grid-template-columns:auto 1fr;align-items:center;gap:14px;margin-bottom:34px;display:grid}.progress__label{font-size:.75rem;font-weight:800}.progress__track{background:var(--line);height:4px;overflow:hidden}.progress__fill{background:var(--red);height:100%;transition:width .3s;display:block}.objection-card h1{margin-bottom:10px}.objection-card__context{color:var(--muted);margin:0;line-height:1.7}.cat-statement{border:1px solid var(--ink);background:#fffdf7;margin:34px 0;padding:21px 18px 21px 88px;position:relative}.cat-statement:after{content:"";border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:#fffdf7;width:14px;height:14px;position:absolute;bottom:-8px;left:50px;transform:rotate(45deg)}.cat-statement .cat{position:absolute;bottom:9px;left:8px;transform:scale(.82)}.cat-statement p{margin:0;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-weight:700;line-height:1.8}.answers{border:0;gap:10px;margin:0 0 24px;padding:0;display:grid}.answers legend{margin-bottom:14px;font-size:1.05rem;font-weight:800;line-height:1.55}.answer-button{border:1px solid var(--line);width:100%;min-height:54px;color:var(--ink);text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.answer-button--selected{border-color:var(--ink);box-shadow:inset 4px 0 0 var(--red);background:#fffdf7;font-weight:700}.answer-button__mark{color:var(--red);font-weight:900}.result-page>h1{margin-bottom:8px}.result-page__area{color:var(--muted);margin:0 0 24px;font-size:.78rem}.petition{border:1px solid var(--ink);background:#fffdf7;box-shadow:7px 7px #d7cdbd}.petition__count{border-bottom:3px double var(--ink);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.petition__count span{font-weight:800}.petition__count strong{color:var(--red);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:3rem;line-height:1}.petition__count small{margin-left:3px;font-size:.9rem}.petition__empty{text-align:center;color:var(--muted);margin:0;padding:34px 20px}.petition__items{margin:0;padding:0;list-style:none}.petition__items li{border-bottom:1px solid var(--line);gap:5px;padding:20px;display:grid}.petition__items li>span{color:var(--red);letter-spacing:.12em;font-size:.68rem;font-weight:900}.petition__items strong{font-family:Hiragino Mincho ProN,Yu Mincho,serif}.petition__items p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.7}.result-comment{background:#eee5d5;align-items:center;gap:12px;padding:18px 20px;display:flex}.result-comment p{margin:0;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-weight:700;line-height:1.7}.result-page__note{color:var(--muted);text-align:center;margin:22px 0 14px;font-size:.72rem}.source-note{color:var(--muted);margin-top:18px;font-size:.68rem;line-height:1.6}.source-note summary{cursor:pointer;text-underline-offset:3px;width:fit-content;text-decoration:underline}.source-note div{border-left:1px solid var(--line);gap:4px;margin-top:9px;padding-left:14px;display:grid}.source-note a{width:fit-content;color:var(--ink);font-weight:700}@media (width>=560px){.home-page,.setup-page,.objection-page,.result-page{padding-left:48px;padding-right:48px}.home-page{grid-template-rows:auto 1fr auto;grid-template-columns:1.15fr .85fr;align-items:center}.home-page__brand{grid-column:1/3}.home-page__visual{grid-area:2/2}.home-page__copy{grid-area:2/1}.home-page__action{grid-column:1/3}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
