:root{--bg:#F6F7F3;--surface:#FFFFFF;--surface-2:#EEF1EA;--line:#DCE2D8;--fg:#1F2A24;--muted:#5E6B63;--brand:#1E4D3F;--brand-fg:#F6F7F3;--accent:#D96B2B;--accent-soft:#FBE6D7;--ok:#2E7D5B;--ok-soft:#DFF0E7;--warn:#A35A00;--warn-soft:#FDEFD9;--bad:#B23A32;--f-display:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Noto Sans JP",sans-serif;--f-body:"Noto Sans JP","Hiragino Sans",system-ui,sans-serif;--r:14px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#121815;--surface:#1A221E;--surface-2:#222C27;--line:#304039;--fg:#E8EDE9;--muted:#A3B1A9;--brand:#7CC2A5;--brand-fg:#0F1713;--accent:#F08A4B;--accent-soft:#3A2618;--ok:#6CC79A;--ok-soft:#183126;--warn:#F0B35C;--warn-soft:#33270F;--bad:#F07A70;color-scheme:dark}}:root[data-theme=dark]{--bg:#121815;--surface:#1A221E;--surface-2:#222C27;--line:#304039;--fg:#E8EDE9;--muted:#A3B1A9;--brand:#7CC2A5;--brand-fg:#0F1713;--accent:#F08A4B;--accent-soft:#3A2618;--ok:#6CC79A;--ok-soft:#183126;--warn:#F0B35C;--warn-soft:#33270F;--bad:#F07A70;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.7}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface)}a{color:var(--brand)}h1,h2,h3{font-family:var(--f-display);line-height:1.35;text-wrap:balance;margin:0}p{margin:0}.wrap{max-width:1080px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-bottom:1px solid var(--line)}header.top .wrap{display:flex;align-items:center;gap:16px;padding-block:12px;flex-wrap:wrap}.logo{font-family:var(--f-display);font-weight:900;font-size:18px;color:var(--brand);text-decoration:none;display:flex;align-items:center;gap:8px}.logo b{background:var(--brand);color:var(--brand-fg);border-radius:8px;padding:0 8px;font-size:14px;letter-spacing:.08em}nav.main{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}nav.main a{text-decoration:none;color:var(--muted);padding:6px 12px;border-radius:999px;font-size:14px;font-weight:500}nav.main a[aria-current=page]{background:var(--surface-2);color:var(--fg)}.proto{background:var(--warn-soft);color:var(--warn);font-size:12.5px}.proto .wrap{padding-block:6px}main{padding-block:32px 80px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:999px;padding:10px 20px;font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;line-height:1.3}.btn.primary{background:var(--accent);color:#fff}.btn.brand{background:var(--brand);color:var(--brand-fg)}.btn.ghost{background:transparent;border-color:var(--line);color:var(--fg)}.btn.small{padding:6px 14px;font-size:13.5px}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.chip:focus-visible,.slot:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn[disabled]{opacity:.45;cursor:not-allowed}.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.08em;color:var(--accent)}.muted{color:var(--muted)}.small{font-size:13px}.hero{display:grid;gap:20px;padding-block:8px 28px}.hero h1{font-size:clamp(28px,5vw,44px);font-weight:900}.hero h1 em{font-style:normal;color:var(--accent)}.search{display:flex;gap:8px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px}.search select,.search input{flex:1 1 180px;min-width:0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;padding:6px 14px;font:inherit;font-size:13.5px;cursor:pointer}.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--brand-fg)}.tag{display:inline-block;background:var(--surface-2);color:var(--fg);border-radius:6px;padding:2px 8px;font-size:12.5px;font-weight:500}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:12px;min-width:0}.card.link{cursor:pointer;text-decoration:none;color:inherit;transition:border-color .15s}.card.link:hover{border-color:var(--brand)}.who{display:flex;gap:14px;align-items:center}.avatar{width:64px;height:64px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--f-display);font-weight:900;font-size:22px;color:#fff;position:relative;overflow:hidden}.avatar.lg{width:112px;height:112px;font-size:36px}.avatar.anon:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e}.badges{display:flex;flex-wrap:wrap;gap:6px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px;background:var(--ok-soft);color:var(--ok)}.badge.lock{background:var(--surface-2);color:var(--muted)}.price{font-variant-numeric:tabular-nums;font-weight:700}.price small{font-weight:400;color:var(--muted)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.sample{font-size:11px;color:var(--muted);border:1px dashed var(--line);border-radius:6px;padding:0 6px}.detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}@media (max-width:860px){.detail{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:16px;min-width:0}.panel h2{font-size:20px}.kv{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px 16px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0}.locked{border:1px dashed var(--line);border-radius:10px;padding:14px;display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13.5px;background:var(--surface-2)}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.slot{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px;font:inherit;font-size:13px;cursor:pointer;text-align:center;font-variant-numeric:tabular-nums;color:var(--fg)}.slot[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.slot b{display:block;font-size:12px;font-weight:500;color:inherit;opacity:.8}.sticky{position:sticky;top:calc(env(safe-area-inset-top,0px) + 80px)}.form{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.steps{display:flex;gap:8px;flex-wrap:wrap;counter-reset:s}.steps li{list-style:none;flex:1 1 120px;font-size:13px;color:var(--muted);border-top:4px solid var(--line);padding-top:6px;counter-increment:s}.steps li:before{content:counter(s) ". "}.steps li.on{border-color:var(--accent);color:var(--fg);font-weight:700}.steps li.done{border-color:var(--brand);color:var(--fg)}fieldset{border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:0;display:flex;flex-direction:column;gap:16px;background:var(--surface);min-width:0}legend{font-family:var(--f-display);font-weight:700;font-size:17px;padding:0 6px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-weight:700;font-size:14px}.field .req{color:var(--accent);font-size:12px;margin-left:6px}.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],select,textarea{width:100%;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px}textarea{min-height:110px;resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px}.check input{margin-top:5px;accent-color:var(--accent)}.note{background:var(--surface-2);border-radius:10px;padding:12px 14px;font-size:13.5px;color:var(--muted)}.skip{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--muted)}.skip s{color:var(--muted)}.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.catgrid .chip{border-radius:12px;padding:12px;text-align:left}.cardbox{border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--bg)}.google{background:var(--surface);color:var(--fg);border:1px solid var(--line)}.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.done-box{text-align:center;align-items:center;padding:40px 24px}.done-box .mark{width:64px;height:64px;border-radius:50%;background:var(--ok-soft);color:var(--ok);display:grid;place-items:center}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}.tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font:inherit;padding:10px 14px;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}.tabs button[aria-selected=true]{color:var(--fg);font-weight:700;border-color:var(--accent)}.req-card{border-left:4px solid var(--accent)}.req-card.accepted{border-left-color:var(--ok)}.req-card.declined{border-left-color:var(--line);opacity:.75}.pill{font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px}.pill.new{background:var(--accent-soft);color:var(--accent)}.pill.accepted{background:var(--ok-soft);color:var(--ok)}.pill.declined{background:var(--surface-2);color:var(--muted)}.attrs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.attrs div{background:var(--surface-2);border-radius:8px;padding:8px 10px;font-size:13px}.attrs span{display:block;color:var(--muted);font-size:11.5px}.meet{background:var(--ok-soft);border-radius:10px;padding:12px 14px;font-size:13.5px;display:flex;flex-direction:column;gap:4px}.meet code{font-size:13px;word-break:break-all}.week{overflow-x:auto}.week table{border-collapse:collapse;min-width:560px;width:100%;font-size:13px;font-variant-numeric:tabular-nums}.week th,.week td{border:1px solid var(--line);padding:6px;text-align:center}.week td button{all:unset;cursor:pointer;display:block;border-radius:6px;padding:4px;font-size:12px}.week td button.on{background:var(--ok-soft);color:var(--ok);font-weight:700}.week td button.busy{background:var(--surface-2);color:var(--muted);cursor:default}.week td button:focus-visible{outline:2px solid var(--accent)}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--fg);color:var(--bg);border-radius:999px;padding:10px 20px;font-size:14px;z-index:20;max-width:calc(100% - 32px)}.empty{padding:32px;text-align:center;color:var(--muted)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}#root{min-height:100vh;display:flex;flex-direction:column}main{flex:1}nav.main a.active{background:var(--surface-2);color:var(--fg)}.foot{border-top:1px solid var(--line);background:var(--surface)}.foot .wrap{padding-block:20px;gap:16px}.legal h2{font-size:18px;margin-top:8px}.legal p{line-height:1.9}img.avatar{display:block}.panel ol{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:6px}
