:root{--paper: #f3efe4;--paper-2: #fbf9f3;--paper-edge: #e6dfcd;--ink: #2b2a26;--ink-soft: #5d584c;--rule: #b9b2a0;--shu: #b5462f;--shu-soft: rgba(181, 70, 47, .28);--sea: #dfe6e8;--coast: #7d7666;--focus: #1f5f8b;--serif: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "YuMincho", "Noto Serif JP", "Noto Serif CJK JP", "Source Han Serif JP", "IPAexMincho", "IPAMincho", serif;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;background-color:var(--paper);background-image:radial-gradient(ellipse at 50% 40%,#ffffff59,#fff0 60%),radial-gradient(ellipse at 50% 50%,#0000 62%,#7860341f),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .2 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.95;letter-spacing:.03em;font-feature-settings:"palt" 0;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration-color:var(--rule);text-underline-offset:.25em}a:hover{text-decoration-color:var(--shu)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sheet{max-width:680px;margin:0 auto;padding:0 16px 48px;overflow-x:clip}.entry,.subcopy,.fig .note{word-break:auto-phrase}.topbar{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:18px 0 10px;border-bottom:1px solid var(--rule);font-size:13px;letter-spacing:.12em;color:var(--ink-soft)}.topbar a{text-decoration:none}.topbar .series{white-space:nowrap}.log-head{display:grid;grid-template-columns:1fr auto auto;margin:28px 0 6px;border:1.5px solid var(--ink);outline:1px solid var(--ink);outline-offset:3px;background:#fbf9f38c}.log-head.log-head-plain{grid-template-columns:1fr auto;margin-bottom:30px}.log-head>div{padding:8px 14px}.log-head>div+div{border-left:1px solid var(--ink)}.log-head .cell-title{display:flex;flex-direction:column;justify-content:center}.log-head .day{margin:0;word-break:keep-all;font-size:15px;letter-spacing:.14em}.log-head h1{margin:0;font-size:26px;font-weight:600;letter-spacing:.18em;line-height:1.5}.log-head .cell-memo{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px}.k{font-size:12px;letter-spacing:.16em;color:var(--ink-soft)}.memo-note span{display:inline-block}.memo-note{margin:10px 0 30px;text-align:right;font-size:12px;letter-spacing:.06em;color:var(--ink-soft)}.memo-field{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.memo-input{--bw: 1.6em;--gap: 3px;position:relative;display:inline-block;font-size:18px;width:calc(var(--bw) * 5 + var(--gap) * 4);height:var(--bw)}.memo-grid{position:absolute;inset:0;display:flex;gap:var(--gap);pointer-events:none}.memo-grid i{flex:none;width:var(--bw);height:var(--bw);border:1px solid var(--ink);background:var(--paper-2)}.memo-grid i{display:grid;place-items:center;font-style:normal;font-weight:700;line-height:1;color:var(--shu)}.memo-grid i.cur{box-shadow:inset 0 -2px 0 var(--shu)}.memo-input input{position:relative;display:block;width:100%;height:100%;margin:0;padding:0 4px;border:0;border-radius:0;background:transparent;font:inherit;font-size:1em;color:var(--ink)}.js .memo-input input{color:transparent;caret-color:transparent}.js .memo-input input::selection{background:transparent;color:transparent}.memo-input input:focus{outline:none}.memo-input:focus-within .memo-grid i{border-color:var(--shu)}.memo-input:focus-within{outline:2px solid var(--focus);outline-offset:3px}.memo-boxes{display:flex;gap:3px}.memo-box{width:1.6em;height:1.6em;display:inline-grid;place-items:center;border:1px solid var(--ink);background:var(--paper-2);font-size:18px;line-height:1;font-weight:700;color:var(--shu)}.memo-box.filled{animation:stamp .45s ease-out both}.memo-box:nth-child(2).filled{animation-delay:.08s}.memo-box:nth-child(3).filled{animation-delay:.16s}.memo-box:nth-child(4).filled{animation-delay:.24s}.memo-box:nth-child(5).filled{animation-delay:.32s}.memo-box:nth-child(6).filled{animation-delay:.4s}.memo-box.restored{animation:none}@keyframes stamp{0%{transform:scale(1.6);opacity:0}70%{transform:scale(.94);opacity:1}to{transform:scale(1);opacity:1}}.entry{margin:0 0 28px;padding-left:16px;border-left:3px double var(--shu-soft)}.entry p{margin:0 0 1em}.entry p:last-child{margin-bottom:0}.entry .gap{height:.6em}.fig{margin:32px auto;text-align:center}.fig figcaption{margin-top:8px;font-size:14px;letter-spacing:.2em;color:var(--ink-soft)}.fig figcaption:before{content:"― "}.fig figcaption:after{content:" ―"}.fig .note{margin:10px 0 0;font-size:14px;color:var(--ink-soft)}.fig-svg{display:block;width:100%;height:auto;margin:0 auto;font-family:var(--serif)}.fig-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}.fig-row .fig{margin:24px 0}.w-220,.w-170{max-width:220px}.w-300{max-width:340px}.w-200{max-width:240px}.w-360{max-width:380px}.w-420{max-width:460px}.w-520{max-width:560px}.paper-frame{padding:14px;background:var(--paper-2);border:1px solid var(--paper-edge);box-shadow:0 1px #0000000a,0 8px 24px -14px #3c2d1459}.ln{stroke:var(--ink);fill:none;stroke-linecap:round}.rule-ln{stroke:var(--rule);fill:none}.ink-fill{fill:var(--ink)}.shu-fill{fill:var(--shu)}.shu-ln{stroke:var(--shu)}.bold{font-weight:700}.cell{fill:var(--paper-2);stroke:var(--ink);stroke-width:1}.station{fill:#fff;stroke:var(--ink);stroke-width:1.5}.sea{fill:var(--sea)}.island{fill:var(--paper);stroke:var(--coast);stroke-width:1.5;stroke-linejoin:round}.wave{fill:none;stroke:#b7c6cb;stroke-width:1.2;stroke-linecap:round}.sheet-rect{fill:var(--paper-2);stroke:var(--coast);stroke-width:1.2}.frame-box{fill:#fff;stroke:var(--ink);stroke-width:2.5;stroke-dasharray:6 4}.frame-split{stroke:var(--ink);stroke-width:1;stroke-dasharray:2 3}.needle-n{fill:var(--shu);stroke:var(--ink);stroke-width:1}.needle-s{fill:#fff;stroke:var(--ink);stroke-width:1}.char-box{fill:var(--paper-2);stroke:var(--ink);stroke-width:1}.arrow-ln{stroke:var(--ink);stroke-width:1.8;fill:none}.zoomable{position:relative}.zoom-btn{display:block;min-width:44px;min-height:30px;margin:6px 0 0 auto;padding:4px 12px;font:inherit;font-size:13px;letter-spacing:.12em;color:var(--ink-soft);background:#fbf9f3b3;border:1px solid var(--rule);border-radius:2px;cursor:zoom-in}dialog.zoom{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#f3efe4;color:#2b2a26}dialog.zoom::backdrop{background:#14120e80}.zoom-body{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto;-webkit-overflow-scrolling:touch}.zoom-body svg{display:block;height:auto;max-width:none}.zoom-close{position:fixed;top:10px;right:10px;z-index:2;min-width:64px;min-height:40px;padding:6px 14px;font:inherit;font-size:15px;letter-spacing:.2em;color:#2b2a26;background:#fbf9f3eb;border:1px solid #7d7666;border-radius:2px;cursor:pointer}body.blackout dialog.zoom{background:#07090d;color:#9aa4b2}body.blackout .zoom-close{color:#9aa4b2;background:#0c0f15;border-color:#3a4250}.scraps{max-width:340px;margin:34px auto;display:flex;flex-direction:column;gap:12px}.scrap{padding:9px 22px 9px 20px;background:#fbf9f3;box-shadow:0 1px #0000000d,0 6px 14px -10px #3c2d1480;font-size:17px;letter-spacing:.08em;white-space:nowrap;clip-path:polygon(0 6%,4% 0,22% 4%,47% 0,71% 5%,96% 0,100% 8%,98% 35%,100% 62%,98% 100%,74% 94%,52% 100%,27% 95%,3% 100%,0 70%,2% 40%)}.scrap.s1{transform:rotate(-1.2deg)}.scrap.s2{transform:rotate(.8deg);margin-left:10px}.scrap.s3{transform:rotate(-.5deg);margin-right:8px}.scrap.s4{transform:rotate(1.1deg);margin-left:4px}.scrap.s5{transform:rotate(-.9deg);margin-right:12px}.rain{stroke:#9fb4bd;stroke-width:1.4;stroke-linecap:round;opacity:.55;pointer-events:none}.btn{flex:none;padding:8px 20px;font:inherit;font-size:16px;letter-spacing:.3em;text-indent:.3em;color:var(--paper-2);background:var(--ink);border:1px solid var(--ink);border-radius:2px;cursor:pointer;transition:background .2s}.btn:hover{background:#45433c}.btn:disabled{opacity:.55;cursor:progress}.result{min-height:2em;margin:10px 0 0;font-size:16px;letter-spacing:.08em}.result.ok{color:var(--shu);font-weight:600}.result.ng{color:var(--ink-soft)}.foot{margin-top:56px;padding-top:14px;border-top:1px solid var(--rule);font-size:14px;color:var(--ink-soft)}.foot nav ol{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none}.foot nav a,.topbar a{display:inline-block;min-height:24px;min-width:24px;padding:4px 2px;line-height:1.6}.foot nav a[aria-current=page]{color:var(--shu);text-decoration:none}.foot .colophon{margin:14px 0 0;font-size:12px;letter-spacing:.2em}.cover-label{margin:44px auto 36px;max-width:400px;padding:26px 20px 22px;text-align:center;border:3px double var(--ink);background:#fbf9f3b3;box-shadow:0 12px 30px -20px #3c2d1473;position:relative}.cover-label .org{margin:0;font-size:14px;letter-spacing:.5em;text-indent:.5em;color:var(--ink-soft)}.cover-label h1{margin:8px 0 4px;font-size:34px;font-weight:600;letter-spacing:.22em;text-indent:.22em;line-height:1.4}.cover-label .period{margin:10px 0 0;font-size:13px;letter-spacing:.2em;border-top:1px solid var(--rule);padding-top:10px}.cover-label .seal{position:absolute;right:-10px;bottom:-14px;width:58px;height:58px;transform:rotate(-9deg);opacity:.8}.subcopy{text-align:center;font-size:15px;color:var(--ink-soft);margin:0 0 36px}.story p{margin:0 0 1.2em}.section-h{display:flex;align-items:center;gap:12px;margin:48px 0 14px;font-size:18px;font-weight:600;letter-spacing:.3em}.section-h:after{content:"";flex:1;border-top:1px solid var(--rule)}.toc{margin:0;padding:0;list-style:none}.toc li{border-bottom:1px dashed var(--rule)}.toc a,.toc .toc-extra{display:grid;grid-template-columns:5.2em 1fr auto;gap:4px 12px;align-items:baseline;padding:10px 4px;text-decoration:none}.toc a:hover{background:#ffffff73}.toc .t-day{letter-spacing:.12em}.toc .t-title{font-size:18px;letter-spacing:.14em}.toc .t-date{display:block;white-space:nowrap;font-size:12px;color:var(--ink-soft);letter-spacing:.1em}.toc .t-memo{font-size:15px;letter-spacing:.2em;color:var(--rule);white-space:nowrap}.toc .t-memo.done{color:var(--shu);font-weight:600}.toc .toc-extra{color:var(--shu)}.lock{margin-top:8px;padding:18px 16px;border:1px solid var(--ink);background:#fbf9f399}.lock-intro{display:flex;gap:12px;align-items:center;margin:0 0 12px;font-size:15px}.lock-intro svg{flex:none;width:30px;height:36px}.lock-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.lock-fields label{display:flex;flex-direction:column;gap:2px;font-size:12px;letter-spacing:.08em;color:var(--ink-soft)}.lock-fields input{width:100%;padding:6px 2px;font:inherit;font-size:16px;text-align:center;color:var(--ink);background:var(--paper-2);border:1px solid var(--ink-soft);border-radius:0}.lock-fields input.is-ok{border-color:var(--shu);box-shadow:inset 0 -2px 0 var(--shu)}.lock-fields input.is-ng{border-style:dashed}.lock-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px}.lock-actions .result{margin:0;min-height:0}.lock-near{margin:10px 0 0;padding:0;list-style:none;font-size:15px;color:var(--ink-soft)}.lock-near:empty{display:none}.lock-note{margin:12px 0 0;font-size:12px;letter-spacing:.08em;color:var(--ink-soft)}.lock-link{display:none;margin:12px 0 0;font-size:15px}.lock-link.show{display:block}@media(max-width:560px){.lock-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.lock-fields label:last-child{grid-column:1 / -1}}.hints h2{margin:36px 0 8px;font-size:18px;letter-spacing:.2em}.hints details{margin:0 0 8px;padding:6px 12px;border:1px solid var(--rule);background:#fbf9f399}.hints summary{cursor:pointer;font-size:15px;letter-spacing:.14em}.hints details p{margin:8px 0 4px}.under-fig{margin:8px 0 0;text-align:center;font-size:16px;letter-spacing:.12em}body.blackout{--paper: #07090d;--paper-2: #0c0f15;--ink: #9aa4b2;--ink-soft: #77818f;--rule: #262c36;--shu: #c46a55;--shu-soft: rgba(154, 164, 178, .12);background:#07090d;background-image:none;color:#9aa4b2;color-scheme:dark}body.blackout .log-head{background:transparent;border-color:#3a4250;outline-color:#3a4250}body.blackout .log-head>div{border-color:#3a4250}body.blackout .memo-box{border-color:#3a4250;background:#0b0e13}body.blackout .log-head>div+div{border-left-color:#3a4250}body.blackout .memo-grid i{border-color:#3a4250;background:#0b0e13}body.blackout .btn{color:#07090d;background:#9aa4b2;border-color:#9aa4b2}body.blackout .entry{border-left-color:#9aa4b21f}body.blackout ::selection{color:#f2f5fa;background:#3b4a66}.faint{color:#343c4a}.dark{color:#07090d;user-select:text;-webkit-user-select:text}.dark-line{display:grid;grid-template-columns:repeat(20,1em);font-size:clamp(12px,calc((100vw - 40px)/20),18px);line-height:1.9;letter-spacing:0;margin:0 0 .7em}.dark-line span{grid-row:1;color:#07090d;text-align:center;overflow:hidden}.dark-line span::selection{color:#f2f5fa;background:#3b4a66}.faint::selection{color:#f2f5fa;background:#3b4a66}.void{height:2em}.puddle{margin:34px auto;max-width:520px;background:linear-gradient(#9fb4bd,#c9d6da);border-radius:48% 52% 45% 55%/40% 42% 58% 60%;padding:28px 24px;color:#22343c;font-size:22px;line-height:2.2;text-align:center;box-shadow:inset 0 6px 18px #ffffff59,inset 0 -10px 24px #22343c2e,0 10px 24px -16px #22343c99;overflow:hidden}.reflect{transform:scaleY(-1);user-select:none;-webkit-user-select:none;animation:ripple 6s ease-in-out infinite}.reflect p{margin:0}.ring{width:2.2em;height:2.2em;vertical-align:-.6em}.ring circle{fill:none;stroke:currentColor;stroke-width:1.2}@keyframes ripple{0%,to{transform:scaleY(-1) skew(.6deg)}50%{transform:scaleY(-1) skew(-.6deg)}}@media(prefers-reduced-motion:reduce){.reflect,.memo-box.filled{animation:none}}@media(max-width:420px){.puddle{font-size:19px;padding:24px 14px}}@media(max-width:480px){body{font-size:16px;line-height:1.9}.log-head>div{padding:6px 10px}.log-head .day{font-size:13px;letter-spacing:.06em}.log-head h1{font-size:20px;letter-spacing:.08em}.memo-box{font-size:15px}.memo-input{font-size:16px}.cover-label h1{font-size:27px;letter-spacing:.14em;text-indent:.14em}.fig-row{grid-template-columns:1fr}.btn{padding:8px 14px}.toc a,.toc .toc-extra{grid-template-columns:4.6em 1fr auto;gap:2px 8px}.toc .t-memo{font-size:13px;letter-spacing:.1em}.entry{padding-left:12px}.toc .t-date{letter-spacing:.02em}}@media(max-width:380px){.memo-box{width:1.45em;height:1.45em}.memo-input{--bw: 1.45em;--gap: 2px}.log-head>div{padding:6px 8px}}.miss-notes{margin:0 0 1em;padding:0;list-style:none;font-size:15px;color:var(--ink-soft)}.miss-notes:empty{display:none}.miss-notes li{margin:.2em 0}
