:root{--bg:#faf8f4;--fg:#222;--muted:#777;--line:#ddd;--accent:#b5542c;--me:#fff3e8;--them:#fff;--error:#b00020;color:var(--fg);background:var(--bg);font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#1b1a18;--fg:#eee;--muted:#aaa;--line:#444;--me:#3a2b20;--them:#262523;--error:#ff6b6b}}*{box-sizing:border-box}body{background:var(--bg);margin:0;line-height:1.7}main{max-width:640px;margin:0 auto;padding:16px}main.wide{max-width:1100px}header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}h1{font-size:1.3rem}h2{font-size:1.15rem}label{margin:12px 0;display:block}label.check{align-items:center;gap:8px;margin:6px 0;display:flex}input:not([type]),input[type=text],input[type=url],input[type=email],input[type=password],input[type=file],textarea,select{border:1px solid var(--line);background:var(--them);width:100%;color:var(--fg);border-radius:8px;margin-top:4px;padding:10px;font-size:16px;display:block}fieldset{border:1px solid var(--line);border-radius:8px;margin:12px 0}button{border:1px solid var(--line);background:var(--them);color:var(--fg);cursor:pointer;border-radius:8px;margin:6px 6px 6px 0;padding:10px 16px;font-size:16px}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.link{color:var(--accent);background:0 0;border:none;margin:0;padding:4px;text-decoration:underline}button.danger,.error{color:var(--error)}.muted{color:var(--muted)}.build-info{color:var(--muted);margin:4px 16px 0;font-size:.75rem}.center{text-align:center;margin-top:40vh}.notice{border:1px solid var(--line);background:var(--them);border-radius:8px;padding:8px 12px}.consent{white-space:pre-wrap;background:var(--them);border:1px solid var(--line);border-radius:8px;max-height:50vh;padding:12px;font-family:inherit;overflow:auto}.chat{flex-direction:column;gap:8px;margin:12px 0;display:flex}.chat p{white-space:pre-wrap;border-radius:12px;max-width:90%;margin:0;padding:10px 14px}.chat .interviewer{background:var(--them);border:1px solid var(--line);align-self:flex-start}.chat .person{background:var(--me);align-self:flex-end}.chat>div{flex-direction:column;display:flex}.plan{color:var(--muted);margin:2px 0 6px;font-size:.85rem}.plan p{padding:0}.reading{border-left:3px solid var(--muted);padding-left:8px}article{border:1px solid var(--line);background:var(--them);border-radius:8px;margin:12px 0;padding:12px 16px}.body{white-space:pre-wrap}.list{padding-left:1.2em}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:12px;display:flex}.tabs button.on{background:var(--accent);color:#fff}.scroll{overflow-x:auto}table{border-collapse:collapse;font-size:.9rem}th,td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:4px 8px}tr.discarded{opacity:.6}.meta{grid-template-columns:max-content 1fr;gap:2px 12px;display:grid}.meta dd{margin:0}.photos{flex-wrap:wrap;gap:8px;display:flex}.thumb{object-fit:cover;border-radius:8px;width:160px;height:160px}.draft{border-top:1px solid var(--line);margin-top:16px}.places label.check{align-items:flex-start}.attribution{color:var(--muted);text-align:right;margin:4px 0 0;font-size:.8rem}.typing-wrap{align-items:flex-start;gap:4px}.typing{background:var(--them);border:1px solid var(--line);border-radius:18px;gap:5px;padding:12px 14px;display:inline-flex}.typing span{background:var(--muted);opacity:.4;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite typing}.typing span:nth-child(2){animation-delay:.16s}.typing span:nth-child(3){animation-delay:.32s}@keyframes typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.chat .flow{max-width:70%;height:2.6em;padding-left:6px;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 45% 70%,#0000);mask-image:linear-gradient(#0000,#000 45% 70%,#0000)}.chat .flow p{max-width:none;color:var(--muted);opacity:.4;word-break:break-all;background:0 0;border:none;margin:0;padding:0;font-size:.78rem;line-height:1.3;animation:.5s ease-out flowup;transform:translateY(-40%)}@keyframes flowup{0%{transform:translateY(0)}to{transform:translateY(-40%)}}@keyframes fadein{0%{opacity:0}to{opacity:1}}.waiting{border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:10px 14px}.steps{margin:0 0 6px;padding:0;list-style:none}.steps li{align-items:center;gap:8px;padding:4px 0;display:flex}.steps li.later,.steps li.done{color:var(--muted)}.steps .mark{text-align:center;width:1.2em}.spinner{border:2px solid var(--line);border-top-color:var(--muted);border-radius:50%;width:.9em;height:.9em;animation:.9s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.quote{margin:10px 0}.quote figcaption{color:var(--muted);font-size:.8rem}.quote blockquote{border-left:3px solid var(--line);margin:4px 0 0;padding:8px 12px;animation:.8s ease-out fadein}@media (prefers-reduced-motion:reduce){.typing span,.spinner,.quote blockquote,.chat .flow p{animation:none}.typing span{opacity:.8}}.consent-list{padding-left:1.4em}.consent-list li{margin:8px 0}header a.link{color:var(--accent)}.site-footer{color:var(--muted);text-align:center;padding:24px 16px;font-size:.8rem}.site-footer a{color:var(--muted)}.center-text{text-align:center}.cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.card{border:1px solid var(--line);background:var(--them);color:var(--fg);border-radius:8px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.card img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.card-text{flex-direction:column;gap:2px;padding:8px 10px;line-height:1.4;display:flex}.card-text small{color:var(--muted)}.share{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.share .muted{width:100%;margin:0}.share-btn{border:1px solid var(--line);background:var(--card,transparent);color:var(--fg);border-radius:999px;margin:0;padding:6px 14px;font-size:.9rem;text-decoration:none;display:inline-block}.gift-link{word-break:break-all;font-size:.8rem}.link-box{margin:12px 0}.link-box .muted{margin:0 0 4px}.hidden-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.legal h1{font-size:1.3rem}.legal h2{margin-top:1.6em;font-size:1.05rem}.legal ol,.legal ul{padding-left:1.4em}.legal li{margin:4px 0}.legal td:last-child{white-space:nowrap}
