@font-face{font-family:NS;src:url(fonts/Newsreader-Display-Medium.ttf);font-display:swap}
@font-face{font-family:IN;src:url(fonts/Inter-Regular.ttf);font-display:swap}
@font-face{font-family:INB;src:url(fonts/Inter-SemiBold.ttf);font-display:swap}
:root{--ink:#1F5A7A;--bg:#F7F6F2}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);-webkit-text-size-adjust:100%}
body{font-family:IN,-apple-system,sans-serif;color:#222;min-height:100vh;min-height:100dvh}
#app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;max-width:480px;margin:0 auto;
 padding:calc(env(safe-area-inset-top) + 90px) calc(env(safe-area-inset-right) + 28px) calc(env(safe-area-inset-bottom) + 34px) calc(env(safe-area-inset-left) + 28px)}
@media (max-width:380px){#app{padding-left:22px;padding-right:22px}h1{font-size:36px!important}}
.k{font-size:11px;letter-spacing:.14em;color:var(--ink);font-family:INB}
h1{font-family:NS;font-weight:500;font-size:40px;line-height:1.05;margin:14px 0 10px}
.sub{font-size:15px;color:#666;line-height:1.45;margin:0 0 30px}
.card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 1px 0 #e6e3dc;margin-bottom:12px;display:flex;gap:14px;align-items:flex-start}
.ck{width:22px;height:22px;border-radius:6px;background:var(--ink);flex:none;color:#fff;font-size:14px;text-align:center;line-height:22px}
.ck.o{background:#fff;border:1.5px solid #bbb}
.t{font-family:INB;font-size:15px}.d{font-size:13px;color:#777;margin-top:3px;line-height:1.35}
.btn{display:block;width:100%;border:0;margin:14px 0 0;background:var(--ink);color:#fff;text-align:center;border-radius:14px;padding:17px;font-family:INB;font-size:17px;cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent}
.btn:active{opacity:.85}
.grow{flex:1;min-height:32px}
.ft{display:flex;justify-content:space-between;font-size:12px;color:#888;align-items:center}
.ft a{color:#888;text-decoration:none}
.logo{font-family:NS;font-size:17px;color:#222}.logo b{color:var(--ink);font-weight:500}
.ph{background:#fff;border-radius:16px;padding:28px 18px;text-align:center;color:#777;font-size:14px;box-shadow:0 1px 0 #e6e3dc}
.ph .t{color:#222;margin-bottom:4px}
.back{background:none;border:0;padding:0;color:var(--ink);font-family:INB;font-size:13px;margin-top:18px;cursor:pointer}
.prose{font-size:15px;line-height:1.5;color:#444}.prose h2{font-family:NS;font-weight:500;font-size:22px;color:#222;margin:22px 0 6px}

.ov{margin:0 0 22px}.ovc{background:#fff;border-radius:16px;padding:4px 18px;box-shadow:0 1px 0 #e6e3dc;margin-top:10px}
.ev{display:flex;gap:14px;padding:11px 0;border-bottom:1px solid #eeebe4}.ev:last-child{border-bottom:0}
.tm{width:62px;flex:none;font-family:INB;font-size:13px;color:var(--ink)}.tm span{display:block;font-family:IN;font-size:11px;color:#999;margin-top:2px}
.et{font-size:15px;line-height:1.3;color:#222}.es{font-size:12px;color:#888;margin-top:3px}

.nv{display:flex;gap:6px;margin:-60px 0 34px;background:#ebe8e1;border-radius:12px;padding:4px;align-self:flex-start}
.nv a{font-family:INB;font-size:13px;color:#666;text-decoration:none;padding:7px 16px;border-radius:9px}.nv a.on{background:#fff;color:var(--ink);box-shadow:0 1px 0 #ddd}
.idea .id{font-size:11px;color:#999;letter-spacing:.06em;margin-bottom:4px}.src{display:inline-block;margin-top:8px;font-family:INB;font-size:13px;color:var(--ink);text-decoration:none}

.ci{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid #eeebe4;cursor:pointer;-webkit-tap-highlight-color:transparent}.ci:last-child{border-bottom:0}
.ci input{position:absolute;opacity:0;pointer-events:none}
.bx{width:20px;height:20px;flex:none;border:1.5px solid #bbb;border-radius:6px;margin-top:1px;background:#fff;color:#fff;font-size:13px;line-height:18px;text-align:center}
.ci.done .bx{background:var(--ink);border-color:var(--ink)}.ci.done .bx:after{content:'✓'}
.ct{font-size:15px;line-height:1.3;color:#222}.ct .es{display:block}
.ci.done .ct{text-decoration:line-through;color:#aaa}
