@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--paper:#f5f1e8;--ink:#343d33;--muted:#73796d;--line:#dcdccf;--green:#4d6049;--rose:#ead9cf;--sage:#e8ecdf}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.6 'DM Sans',sans-serif;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.035' filter='url(%23n)'/%3E%3C/svg%3E")}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bd7861;outline-offset:4px}button{border:0}a{color:inherit}header{max-width:1440px;margin:auto;padding:30px 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{text-decoration:none;font:26px 'Fraunces',serif;white-space:nowrap}.brandmark{color:#a9634b;display:inline-block;margin-right:10px;font-size:34px;vertical-align:middle}.brandcaption{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:2.8px;padding-left:48px;margin-top:-5px}nav{display:flex;gap:25px}nav button{background:none;padding:12px 0;border-bottom:1px solid transparent;font-size:13px}nav button.active{border-color:var(--green)}.small{font-size:11px;color:var(--muted)}main{max-width:1340px;margin:auto;padding:0 44px}.intro{display:flex;align-items:center;justify-content:space-between;padding:45px 0 32px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 15px}.intro h1,h1{font:52px/1.12 'Fraunces',serif;letter-spacing:-1.7px;margin:0 0 20px;font-weight:400}h1 em{font-weight:400;color:#6b795d}h2{font:26px/1.25 'Fraunces',serif;margin:0 0 12px;font-weight:400;letter-spacing:-.5px}h3{font:24px/1.3 'Fraunces',serif;font-weight:400;margin:0 0 12px}.lede{color:var(--muted);font-size:14px;line-height:1.8;margin:0}.bead-art{width:40%;max-width:430px;transform:rotate(-5deg)}.dashboard{display:grid;grid-template-columns:1.15fr 1fr .77fr;gap:22px;align-items:start}.card{border:1px solid var(--line);background:#fbf9f2b5;padding:28px;border-radius:3px}.muted{color:var(--muted);font-size:12px;margin:0 0 20px}.time-options{display:flex;gap:10px;margin:24px 0}.time-options button{background:transparent;border:1px solid var(--line);flex:1;padding:13px 5px;font:29px 'Fraunces',serif;border-radius:3px}.time-options span{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:1.5px;margin-top:5px}.time-options button.selected{background:var(--green);color:#fff;border-color:var(--green)}.session-summary{border-top:1px dashed #c8ccbd;padding-top:17px}.session-summary>span{font:19px 'Fraunces',serif}.session-summary p{font-size:12px;color:var(--muted);min-height:57px}.time-split{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin:22px 0}.primary{background:var(--green);color:#fff;padding:13px 18px;border-radius:3px;font-size:12px}.primary:hover{background:#384c36}.wide{width:100%;display:flex;justify-content:space-between}.quiet{font-size:10px;color:var(--muted);text-align:center;margin:16px 0 0}.card-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.card-top .eyebrow{font-size:9px;letter-spacing:1.5px}.text-button{background:none;padding:0;font-size:11px;text-decoration:none;color:var(--green)}.project-illustration{height:151px;background:#e9e6db;display:flex;align-items:center;justify-content:center;position:relative;margin:4px 0 22px;overflow:hidden;background-image:repeating-linear-gradient(0deg,transparent,transparent 5px,#c5bca818 6px)}.project-illustration>span{position:absolute;right:13px;bottom:10px;font:italic 12px 'Fraunces',serif;color:#8a8879}.bracelet{display:grid;grid-template-columns:repeat(16,9px);gap:3px;transform:rotate(-18deg)}.bracelet i{width:9px;height:11px;border-radius:3px;border:1px solid #0002;box-shadow:inset 2px 1px #fff5}.project-card select{margin:8px 0 18px;background:transparent}.next-step{border-top:1px dashed #c8ccbd;padding-top:18px}.next-step .eyebrow{font-size:9px;margin-bottom:8px}.next-step>p:last-child{font:17px/1.5 'Fraunces',serif;margin:0;white-space:pre-wrap}.note{background:var(--sage);padding:25px 24px 35px;position:relative;transform:rotate(1deg);box-shadow:2px 4px 5px #343d3308}.note:before{content:'';display:block;width:65px;height:20px;position:absolute;top:-9px;left:36%;background:#d5c8ac66;transform:rotate(-6deg)}.note p:not(.eyebrow){font-size:12px;line-height:1.8}.note .eyebrow{font-size:8px}.drawn-star{position:absolute;bottom:4px;right:19px;font-size:35px;color:#89947b}.experiment{padding:26px 10px 0}.experiment .eyebrow{font-size:9px}.experiment h3{font-size:21px}.experiment p:not(.eyebrow){font-size:12px;color:var(--muted)}.tag{font-size:7px;letter-spacing:1px;display:block;color:#8b7869}.experiment button{display:block;margin-top:15px}.bottom-line{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:25px 0;margin-top:36px;color:var(--muted);font-size:12px}footer{display:flex;justify-content:space-between;align-items:center;max-width:1252px;margin:22px auto;padding:0 10px;gap:15px}footer>span{font:italic 18px 'Fraunces',serif}footer p{font-size:10px;color:var(--muted)}.tab:not(#today){padding-top:48px}.path-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:45px;margin-top:35px}label{display:block;font-size:12px;margin:15px 0}input,textarea,select{display:block;width:100%;border:1px solid #cdd0c1;border-radius:3px;padding:10px;background:#fffdf6;color:var(--ink);margin-top:6px}textarea{resize:vertical;min-height:80px}fieldset{border:0;padding:0;margin:20px 0}legend{font-size:12px}.days{display:flex;gap:5px;margin-top:10px;flex-wrap:wrap}.days label{margin:0}.days input{width:auto;display:inline}.days label{border:1px solid var(--line);padding:5px 7px;font-size:11px}.path-item{border-bottom:1px dashed var(--line);padding:18px 0;display:grid;grid-template-columns:55px 1fr;gap:12px}.path-item .day{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.path-item h3{font-size:21px}.path-item p{font-size:12px;margin:7px 0;color:var(--muted)}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.swatches{display:flex;gap:10px}.swatches input{height:42px;padding:3px}.palette{border-top:1px dashed var(--line);padding:20px 0}.palette p,.history-item p{white-space:pre-wrap;font-size:12px;overflow-wrap:anywhere}.palette h3{font-size:21px}.palette-colours{display:flex;gap:6px}.palette-colours span{width:24px;height:24px;border-radius:50%;border:1px solid #0002}.history-item{border-bottom:1px dashed var(--line);padding:15px 0}.sources{margin:30px 0;border-top:1px solid var(--line);padding:22px 0;max-width:850px;font-size:12px}summary{cursor:pointer;font:20px 'Fraunces',serif}.data-tools{display:flex;gap:25px;align-items:center}.data-tools label{cursor:pointer}dialog{border:1px solid var(--line);padding:32px;background:var(--paper);color:var(--ink);border-radius:5px;max-width:520px;width:calc(100% - 28px);max-height:90vh;overflow:auto}dialog::backdrop{background:#29372d80;backdrop-filter:blur(3px)}.actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}.secondary{background:transparent;border:1px solid var(--line);padding:11px 16px;border-radius:3px;font-size:12px}#timer{font:64px 'Fraunces',serif;margin:25px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 22px;border-radius:4px;display:none;z-index:10;font-size:12px}[hidden]{display:none!important}@media(min-width:1450px){main{padding:0 10px}.intro{padding-top:60px}}@media(max-width:1100px){.desktop{display:none}.dashboard{grid-template-columns:1fr 1fr}.side-notes{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:35px}.experiment{padding-top:12px}.note{padding-bottom:18px}.intro h1{font-size:47px}}@media(max-width:650px){header{padding:20px 22px;display:block}.brand{font-size:25px}nav{gap:22px;margin-top:20px;justify-content:space-between}nav button{font-size:11px;padding:7px 0}main{padding:0 22px}.intro{padding:35px 0 28px;position:relative}.intro h1,h1{font-size:39px;letter-spacing:-1.2px}.intro .eyebrow{font-size:8px}.bead-art{width:120px;position:absolute;right:-10px;bottom:10px;opacity:.5}.lede{font-size:13px}.dashboard,.path-layout,.journal-grid{display:block}.dashboard>.card{margin-bottom:20px}.card{padding:23px}.side-notes{display:block}.side-notes .note{margin:30px 5px 10px}.experiment{padding:25px 7px}.bottom-line{display:block}.bottom-line button{display:block;margin-top:12px}footer{margin:10px 22px 25px;flex-wrap:wrap;padding:0}footer>button{display:none}footer p{font-size:9px}.path-layout{margin-top:25px}.path-layout>div{margin-top:30px}.journal-grid>.card{margin-bottom:22px}.time-options button{padding:16px 5px}.session-summary p{min-height:0}.tab:not(#today){padding-top:30px}.actions{flex-wrap:wrap}.sources{font-size:12px}}
@media(max-width:650px){nav button{min-height:44px}.text-button{min-height:34px}.days label{padding:10px 8px}.experiment button{padding:7px 0}.data-tools .text-button{display:flex;align-items:center}}

/* Adaptable edition: shared journal layout, personal theme tokens. */
.custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0}.theme-colours{display:flex;gap:15px}.theme-colours label{flex:1}.theme-colours input{height:44px;padding:3px}.brand{white-space:normal;overflow-wrap:anywhere}.brandcaption{max-width:300px}nav{flex-wrap:wrap;gap:18px}.primary,.time-options button.selected{color:var(--accent-text)}.primary:hover{background:var(--green);filter:brightness(.92)}.text-button,h1 em{color:var(--ink)}.note{color:var(--note-text)}.card{background:var(--paper)}input,textarea,select{background:var(--paper);color:var(--ink);border-color:var(--line)}.project-illustration{background:none;color:var(--ink)}.sources{max-width:900px}.custom-grid p{font-size:12px}.custom-grid .small{font-size:11px}#customise{padding-bottom:30px}
@media(max-width:650px){.custom-grid{grid-template-columns:1fr}nav{gap:8px}nav button{font-size:10px}.brandcaption{max-width:260px}}

.project-switcher{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 22px}.project-switcher label{margin:0;min-width:220px;flex:1;max-width:600px}.project-switcher select{margin-top:5px}.project-switcher .secondary{align-self:flex-end}.practice-image{display:block;width:100%;height:100%;object-fit:contain}.bead-art{height:280px}.project-illustration .practice-image{height:145px;max-width:300px}.project-illustration>span{color:var(--ink)}#project-art-preview{height:125px}.photo-section{margin:25px 0}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.photo-grid figure{margin:0}.photo-grid img{width:100%;height:220px;object-fit:contain;border:1px solid var(--line);background:var(--paper)}.photo-grid textarea{min-height:55px}.photo-actions{display:flex;justify-content:space-between;gap:12px}.calendar-card{margin-top:26px;max-width:650px}.calendar-card p{font-size:12px}.calendar-card input[type=time]{max-width:180px}#photo-status{font-size:12px}
@media(max-width:650px){.bead-art{height:100px}.photo-grid{grid-template-columns:1fr}.photo-grid img{height:260px}.project-switcher{gap:10px}.project-switcher label{max-width:none;width:100%}.project-switcher .secondary{align-self:auto}}

@media(max-width:650px){.bead-art{opacity:.9}}

/* Creative theme edition — original journal proportions remain shared. */
.journal-icon{display:inline-block;width:28px;height:28px;object-fit:contain;flex:none;vertical-align:middle}.icon-heading{display:flex;align-items:center;gap:11px}.icon-heading .journal-icon{width:31px;height:31px}nav button{display:inline-flex;align-items:center;gap:6px}nav .journal-icon{width:21px;height:21px}.card-icon{width:38px;height:38px;margin-bottom:13px}.project-icon{width:27px;height:27px}.card-top .eyebrow{flex:1}.card-top{gap:8px}.note-icon{width:33px;height:33px;margin:0 0 10px}.creative-kicker{display:flex;align-items:center;gap:8px}.creative-kicker .journal-icon{width:25px;height:25px}.theme-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:22px 0}.theme-tile{padding:12px;text-align:left;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:5px}.theme-tile strong{display:block;font:17px 'Fraunces',serif;margin:9px 0 3px}.theme-tile>span:last-child{font-size:10px}.theme-tile.is-chosen{outline:2px solid var(--green);outline-offset:2px}.theme-sample{height:56px;display:flex;align-items:center;gap:7px;padding:10px;border-radius:3px;position:relative;overflow:hidden;background:var(--tile-paper)}.theme-sample i{width:24px;height:24px;border-radius:50%;background:var(--tile-accent)}.theme-sample i:nth-child(2){background:var(--tile-note)}.theme-sample i:nth-child(3){background:var(--tile-pop)}.theme-sample b{font-size:45px;font-weight:400;line-height:1;position:absolute;right:6px;top:2px;transform:rotate(12deg);color:var(--tile-accent)}.tile-thread{--tile-paper:#f5f1e8;--tile-accent:#4d6049;--tile-note:#e8ecdf;--tile-pop:#a9634b}.tile-room{--tile-paper:#f6f0df;--tile-accent:#314e68;--tile-note:#eddaa5;--tile-pop:#b78023}.tile-wonders{--tile-paper:#fbefed;--tile-accent:#69435f;--tile-note:#dde5d6;--tile-pop:#a05c7a}.tile-play{--tile-paper:#fff8eb;--tile-accent:#2246cb;--tile-note:#ffe798;--tile-pop:#ed6252}.tile-night{--tile-paper:#232334;--tile-accent:#c6b3ff;--tile-note:#353348;--tile-pop:#ff78b6}.tile-wildflower{--tile-paper:#f4edff;--tile-accent:#236866;--tile-note:#e0d5f5;--tile-pop:#dfa329}.theme-colours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.brandmark{color:var(--pop)}.drawn-star{color:var(--note-text)}
:root:is([data-theme=play],[data-theme=night],[data-theme=wildflower]) .brandmark{font-size:42px;transform:rotate(-12deg)}
:root:is([data-theme=play],[data-theme=night],[data-theme=wildflower]) .card{border-radius:12px;box-shadow:4px 5px 0 var(--pattern-ink)}
:root:is([data-theme=play],[data-theme=night],[data-theme=wildflower]) .card-icon{background:var(--sage);border-radius:50%;padding:5px;width:44px;height:44px}
:root:is([data-theme=play],[data-theme=night],[data-theme=wildflower]) .primary{border-radius:7px;box-shadow:3px 3px 0 var(--pop)}
:root:is([data-theme=play],[data-theme=night],[data-theme=wildflower]) .intro h1 em{text-decoration:underline;text-decoration-color:var(--pop);text-decoration-thickness:5px;text-underline-offset:7px}
:root:is([data-theme=play],[data-theme=night],[data-theme=wildflower]) .note{border-radius:4px 17px 6px 13px;box-shadow:4px 5px 0 var(--pattern-ink)}
:root:is([data-theme=play],[data-theme=night],[data-theme=wildflower]) .experiment{border-top:3px dotted var(--pop);margin-top:26px;padding-top:20px}
:root:is([data-theme=play],[data-theme=night],[data-theme=wildflower]) .eyebrow{letter-spacing:1.8px}
:root[data-theme=play] body{background-image:radial-gradient(var(--pattern-ink) 1px,transparent 1px);background-size:19px 19px}
:root[data-theme=play] .time-options button{border-radius:50% 50% 45% 45%;border-color:var(--green)}
:root[data-theme=play] .note:before{background:var(--pop);opacity:.6}
:root[data-theme=night] body{background-image:radial-gradient(var(--pattern-ink) 1px,transparent 1.5px);background-size:35px 35px}
:root[data-theme=night] .intro h1 em{color:var(--green)}
:root[data-theme=night] .note:before{background:var(--pop);opacity:.5}
:root[data-theme=night] .tag{color:var(--pop)}
:root[data-theme=wildflower] body{background-image:repeating-linear-gradient(0deg,transparent,transparent 31px,var(--pattern-ink) 32px)}
:root[data-theme=wildflower] .note:before{background:var(--pop);opacity:.55}
:root[data-theme=wildflower] .time-options button{border-radius:18px 7px 18px 7px}
@media(max-width:650px){nav{flex-wrap:wrap;gap:5px}nav button{gap:3px;font-size:10px}nav .journal-icon{width:18px;height:18px}.theme-colours{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-tile{padding:9px}.theme-tile strong{font-size:15px}.theme-sample b{font-size:35px;top:9px}.theme-sample{padding:7px;gap:5px}.theme-sample i{width:20px;height:20px}.icon-heading{gap:8px}.icon-heading .journal-icon{width:26px;height:26px}}

#toast{color:var(--paper)}.theme-save{margin-top:10px}

@media(max-width:650px){nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 16px}nav button{justify-content:flex-start;min-height:40px}}
