:root{--ink:#172944;--muted:#627189;--blue:#275cdd;--line:#dee5ed;--white:#fff;--bg:#f3f6fa;--green:#d6f4df;--yellow:#fff0b4;--red:#ffdadc;--shadow:0 10px 35px #1836580a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 100% 0,#dfeeff 0,transparent 40%)}a{color:var(--blue);text-decoration:none}button,input,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:10px 16px;cursor:pointer;font-weight:650}button:hover,.button:hover{border-color:var(--blue);transform:translateY(-1px)}button:disabled{opacity:.55;cursor:wait;transform:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #3e8cfa;outline-offset:3px}button.primary,.primary{background:var(--blue);border-color:var(--blue);color:#fff}.danger{color:#b52b43;border-color:#eeabb4;background:#fff5f5}.quiet{background:transparent;border-color:transparent}.topbar{background:#ffffffeb;border-bottom:1px solid var(--line);display:flex;gap:24px;align-items:center;padding:16px max(24px,calc((100% - 1280px)/2));flex-wrap:wrap}.brand{font-size:22px;letter-spacing:1px;font-weight:900;color:var(--ink);display:flex;align-items:center;gap:8px}.brand-sub{font-size:12px;letter-spacing:2px;color:var(--blue)}.emblem{display:inline-grid;place-items:center;background:linear-gradient(140deg,#4d80f2,#1e4bb9);color:#ffe48c;border:4px solid #e2ebff;border-radius:50%;width:44px;height:44px;font-size:26px;flex-shrink:0}nav{display:flex;gap:6px;flex:1;justify-content:center}nav a{color:var(--muted);padding:12px;border-radius:10px;font-size:14px;font-weight:650;white-space:nowrap}nav a.active{color:var(--blue);background:#edf3ff}#app{max-width:1280px;margin:auto;padding:36px 24px;min-height:75vh}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--blue);text-transform:uppercase}h1{font-size:clamp(28px,4vw,42px);letter-spacing:-1.4px;margin:6px 0 12px;line-height:1.12}h2{font-size:22px;margin:0 0 16px}h3{margin:0 0 12px}p{line-height:1.6}.muted,small{color:var(--muted)}.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.hero p{color:var(--muted);margin-bottom:0}.hero-art{width:150px;height:150px;border:18px solid #d7e3fc;border-radius:50%;position:relative;background:linear-gradient(#507cf1 48%,#233a63 48%,#233a63 55%,#fff 55%);transform:rotate(-18deg);box-shadow:20px 8px 0 #ffdf8b}.hero-art:after{content:'✦';position:absolute;inset:30px;border:8px solid #233a63;background:#fff;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#e2a623}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0 26px}.stat{background:white;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.stat b{display:block;font-size:30px;letter-spacing:-1px}.stat span{font-size:13px;color:var(--muted)}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.toolbar input{max-width:350px;margin-right:auto}.card{background:white;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow);margin-bottom:20px}input,textarea{width:100%;border:1px solid #cdd6e2;padding:12px 14px;border-radius:10px;background:white;color:var(--ink);min-height:46px}label{display:block;font-size:14px;font-weight:650;margin-bottom:16px}label input,label textarea{display:block;margin-top:7px}textarea{resize:vertical;min-height:70px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;background:#f9fbfd}th,td{padding:17px 18px;border-bottom:1px solid #eaf0f5;white-space:nowrap}tr:last-child td{border:0}td a{font-weight:750}td small{display:block}td .actions{display:flex;gap:8px}.rank{background:#ecf2ff;color:var(--blue);border-radius:10px;width:36px;height:36px;display:inline-grid;place-items:center;font-weight:800}.score-pill{font-weight:850;color:var(--blue)}.empty{text-align:center;padding:55px 20px;color:var(--muted)}.split{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px}.board-scroll{overflow-x:auto;padding:2px 2px 10px}.board{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;min-width:620px}.cell{display:flex;flex-direction:column;align-items:stretch;text-align:left;border:1px solid #cbd6e3;min-height:155px;padding:12px;position:relative;border-radius:14px;overflow:hidden;transition:transform .12s}.cell .cell-top{display:flex;justify-content:space-between;font-size:12px;font-weight:800}.cell strong{font-size:13px;margin-top:10px;overflow-wrap:anywhere;line-height:1.35}.cell img{height:55px;width:100%;object-fit:contain;margin-top:6px}.cell small{margin-top:auto;padding-top:8px;font-size:10px;color:inherit}.s0{background:#fff;color:#47566a}.s1{background:var(--green);color:#135c37;border-color:#85cea2}.s2{background:var(--yellow);color:#765308;border-color:#e2c758}.s3{background:var(--red);color:#932e3e;border-color:#e7a0a9}.legend{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.legend span{font-size:12px;border:1px solid #d1dae5;border-radius:8px;padding:8px 10px}.score-large{font-size:52px;letter-spacing:-2px;font-weight:900;color:var(--blue)}.score-large small{font-size:18px;letter-spacing:0}dl{margin:15px 0}dl div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}dd{margin:0;font-weight:800}.export-controls{display:flex;gap:8px;flex-wrap:wrap}.export-controls button{font-size:13px}.preview{display:grid;gap:16px;margin-top:20px}.preview img{max-width:100%;border:1px solid var(--line);border-radius:14px}.export-page{background:#f8faff;padding:16px;border-radius:16px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.task-editor{border:1px solid var(--line);border-radius:15px;padding:20px;background:#fbfcfe}.task-editor label:last-child{margin-bottom:0}.error{background:#ffebee;color:#9c2338;padding:14px;border-radius:10px}.notice{padding:16px;background:#eaf2ff;border-radius:12px;color:#254b8c}dialog{width:min(480px,calc(100% - 28px));border:0;border-radius:22px;padding:26px;color:var(--ink);box-shadow:0 24px 90px #11233c40;max-height:90vh;overflow:auto}dialog::backdrop{background:#12233a88;backdrop-filter:blur(3px)}dialog .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.status-options{display:grid;gap:10px}.status-options button{justify-content:space-between;padding:15px}.dialog-top{display:flex;justify-content:space-between;gap:15px}.dialog-top h2{padding-top:9px}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(at 10% 20%,#c3dafc,transparent 50%),radial-gradient(at 90% 80%,#fff0bc,transparent 50%),#f1f6fc}.login-card{max-width:470px;width:calc(100% - 32px);padding:40px;background:#fff;border:1px solid #e3e9f0;border-radius:28px;box-shadow:0 22px 90px #35558c14}.login-card button{width:100%;margin-bottom:20px}.login-card h1{font-size:36px}.login-card p{color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#172944;color:#fff;border-radius:14px;padding:13px 22px;z-index:100;display:none;max-width:90%;box-shadow:0 8px 30px #0002}#toast.visible{display:block}footer{max-width:1280px;margin:auto;padding:22px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:20px}.wide{grid-column:1/-1}.back{font-size:14px;display:inline-block;margin-bottom:20px}.history-list{max-height:420px;overflow:auto}.history-item{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.history-item time{color:var(--muted);display:block;font-size:11px;margin-top:5px}@media(max-width:900px){.topbar{gap:10px;padding:12px 16px}.topbar nav{order:3;width:100%;flex:auto;justify-content:flex-start;overflow:auto}.topbar>form{margin-left:auto}.split{grid-template-columns:1fr}.split aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hero-art{width:100px;height:100px;border-width:10px;flex-shrink:0}.hero-art:after{inset:18px;border-width:5px;font-size:17px}}@media(max-width:600px){#app{padding:26px 16px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:16px}.stat b{font-size:26px}.hero{gap:14px}.hero-art{width:70px;height:70px;border-width:7px;box-shadow:8px 4px 0 #ffdf8b}.hero-art:after{inset:12px;font-size:12px}.card{padding:16px;border-radius:16px}.settings-grid{grid-template-columns:1fr}.split aside{display:block}.toolbar input{max-width:none;flex-basis:100%}.board{min-width:610px;gap:8px}.cell{min-height:144px}.hero p{font-size:14px}.brand-sub{display:none}nav a{padding:10px;font-size:13px}footer span{display:none}.login-card{padding:28px}.export-controls button{flex:1 1 140px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
h1,h2,.hero p{overflow-wrap:anywhere}.hero>div:first-child{min-width:0}
.split>*{min-width:0}@media(max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}
/* Smile edition: a sunny field journal for a little creature-catching adventure. */
:root{--ink:#2a4c54;--muted:#678079;--blue:#38796b;--line:#d3e5d6;--bg:#eff8e9;--green:#b4ecba;--yellow:#ffeba2;--red:#ffc3bd;--shadow:0 6px 0 #52765c0b,0 12px 30px #4e70540a;font-family:"Trebuchet MS",ui-rounded,system-ui,-apple-system,sans-serif}body{background:radial-gradient(ellipse at 90% 5%,#ffefb5 0,transparent 30%),linear-gradient(165deg,#e2f5f4,#f4faed 55%,#fff5d8);min-height:100vh}.topbar{background:#fffef3eF;border-bottom:2px solid #e1ebd6;gap:20px}.brand{color:#356b83;letter-spacing:0;font-size:24px}.brand-sub{color:#74a17a;font-size:11px}.emblem{color:#ffe28d;background:#659b8a;border:3px solid #cfe6c8;box-shadow:0 3px 0 #c9dfbd}.topbar nav a{color:#658074;font-weight:800}.topbar nav a.active{color:#397965;background:#e3f0d9}.hero{padding:23px 28px;background:linear-gradient(120deg,#ffffffad,#fff6d4);border:2px solid #fff;border-radius:30px;margin-bottom:24px;min-height:178px;box-shadow:0 7px 0 #496a5010}.hero-art{background: url('../images/bidoof.png') center/contain no-repeat;width:170px;height:150px;border:0;border-radius:0;box-shadow:none;transform:rotate(-5deg)}.hero-art:after{display:none}.eyebrow{color:#76a26b;letter-spacing:1.6px}.hero h1{color:#315d72;font-weight:900;letter-spacing:-1px}.hero p{color:#638078}.card,.stat,.table-wrap{border:2px solid #dae8d4;background:#fffffaf5;box-shadow:var(--shadow);border-radius:24px}.stat{position:relative;padding:18px 22px}.stat b{color:#3e796b}.stat:nth-child(2){background:#f0fbe8}.stat:nth-child(3){background:#fff8d8}.stat:nth-child(4){background:#eaf5fb}.card h2,.card h3{color:#3d695b}.primary,button.primary{background:#5b9c78;border-color:#4b8a68;box-shadow:0 4px 0 #3c6e55;color:#fff}.primary:hover,button.primary:hover{background:#4b8c68}.button,button{border-radius:14px;border-width:2px;transition:transform .12s,background .12s}.button:active,button:active{transform:translateY(2px);box-shadow:none}.danger{background:#fff1e8;border-color:#edb7a7;color:#b75b52}.quiet{border-color:transparent}input,textarea{border:2px solid #d4e4d2;border-radius:14px;background:#fffef9}.rank{background:#fff0b8;color:#967524;border-radius:12px}.score-pill,.score-large{color:#4c8d6e}th{background:#f3f7e8;color:#6b8a68}th,td{border-color:#e3eddc}.notice{background:#e9f4df;color:#58764d;border:1px solid #d4e7c5}.split{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.board-scroll{overflow-x:auto;padding:3px 3px 9px}.board{min-width:0;gap:10px}.cell{min-height:110px;aspect-ratio:1.18;border-width:2px;border-radius:19px;padding:8px;box-shadow:0 4px 0 #42674418;align-items:center;justify-content:center}.cell:hover{transform:translateY(-3px);border-color:#71987b}.cell:active{transform:translateY(1px)}.cell .cell-top{position:absolute;top:8px;right:9px;font-size:14px;line-height:20px}.cell .cell-top>span:first-child{display:none}.cell .cell-top>span:last-child{background:#ffffffa8;border-radius:50%;width:22px;height:22px;text-align:center}.cell .cell-number{font-size:38px;line-height:1;margin:0;font-weight:900;letter-spacing:-1px}.cell img{height:65px;max-width:80%;object-fit:contain;margin:0}.cell img+.cell-number{font-size:14px;position:absolute;top:11px;left:11px;letter-spacing:0}.s0{background:#fffef5;color:#59716c;border-color:#ccddd1}.s1{background:#b4ecba;color:#3f7650;border-color:#80c18a}.s2{background:#ffeba2;color:#8d7227;border-color:#e3c966}.s3{background:#ffc3bd;color:#a25b56;border-color:#df9a91}.legend{gap:8px}.legend span{border:0;border-radius:12px;font-size:12px;font-weight:700}.export-controls{gap:12px}.export-controls button{min-height:46px}.preview{justify-items:center}.export-page{width:100%;max-width:620px;background:#f1f7e9;border:1px dashed #b7cfa9;border-radius:20px;padding:12px}.preview img{border-radius:16px;border:0}.export-page .toolbar{justify-content:center}.settings-grid .task-editor{background:#fffff6;border:2px solid #dce8d5;border-radius:20px}.login{background:radial-gradient(at 15% 15%,#bceaf0,transparent 50%),radial-gradient(at 90% 80%,#d0ebad,transparent 50%),#fff3cf}.login-card{border:3px solid white;background:#fffef5;border-radius:34px;box-shadow:0 12px 0 #597c4314,0 30px 80px #698c4515;position:relative}.login-card .emblem{width:115px;height:110px;background:url('../images/bidoof.png') center/contain no-repeat;border:0;border-radius:0;box-shadow:none;color:transparent}.login-card h1{color:#3c6a68}.login-card small{color:#74916c}dialog{background:#fffef5;border:3px solid #dceacf;border-radius:26px}dialog::backdrop{background:#294b4077}.status-options button{border-radius:15px;padding:16px}footer{color:#86a077;border-color:#d5e4c9}#toast{background:#416e59;border:2px solid #cce0b5;box-shadow:0 5px 0 #43654119;border-radius:18px;bottom:18px;width:max-content;max-width:calc(100% - 32px)}
@media(max-width:900px){.split{grid-template-columns:minmax(0,1fr)}.hero-art{width:140px;height:130px}.split aside{grid-template-columns:1fr 1fr}.cell{min-height:94px}}
@media(max-width:600px){#app{padding:20px 12px}.hero{padding:18px 16px;gap:4px;border-radius:24px;min-height:144px}.hero-art{width:96px;height:110px;flex-shrink:0}.hero h1{font-size:28px}.hero p{font-size:12px}.hero .eyebrow{font-size:10px;letter-spacing:1px}.card{padding:13px;border-radius:21px}.board{min-width:0;gap:5px}.board-scroll{padding:2px 1px 6px}.cell{min-height:61px;aspect-ratio:.89;padding:3px;border-radius:12px;border-width:1.5px}.cell .cell-number{font-size:28px;padding-top:9px}.cell .cell-top{top:3px;right:3px;font-size:10px;line-height:15px}.cell .cell-top>span:last-child{width:15px;height:15px}.cell img{height:40px;max-width:85%;margin-top:10px}.cell img+.cell-number{font-size:10px;left:5px;top:6px;padding:0}.legend{gap:5px;justify-content:center}.legend span{font-size:10px;padding:7px 6px;border-radius:9px}.split aside{display:block}.stats{gap:8px}.stat{padding:14px 16px;border-radius:20px}.stat b{font-size:27px}.stat span{font-size:11px}.card .toolbar h2{font-size:19px;margin-right:auto}.card .toolbar{margin:8px 0 12px}.card>p.muted{font-size:12px}.export-controls button{font-size:12px;flex-basis:130px}.topbar{padding:10px 14px}.brand{font-size:22px}.export-page{padding:8px}.preview .toolbar button{font-size:12px;padding:9px}.score-large{font-size:44px}}
