{
  "version": 3,
  "sources": ["/cdn/shop/t/3/assets/site.js?nocache=1794296731521"],
  "sourcesContent": ["const A = window.ASSET_BASE || 'img/';\n\nconst AMZ = a => ({au:`https://www.amazon.com.au/dp/${a}`, us:`https://www.amazon.com/dp/${a}`, uk:`https://www.amazon.co.uk/dp/${a}`});\n\nconst SERIES = {\n  ic:{name:\"The Impossible Child\", pen:\"ALLAN\", kind:\"Science fantasy saga \u00B7 adult\", line:\"Hard science fiction for the worlds and the machines, fantasy for the humans. Who is given time, and who is denied it.\", books:[\"rrr\",\"blackball\",\"lww\",\"bluerabbit\"], more:\"Nine books in three trilogies, and a free novella\"},\n  shepherd:{name:\"The Shepherd\", pen:\"Allan Cooney\", kind:\"Leadership \u00B7 non-fiction\", line:\"A model of leadership built on shepherding, the oldest form of it.\", books:[\"shepherd\"]},\n  betty:{name:\"The Betty Pinkerston series\", pen:\"\u00D3 Cuana\", kind:\"Crime with a love story\", line:\"Betty fixes love for others and goes home alone. Every book stands on its own.\", books:[\"isyn\",\"beacon\",\"sonatelli\",\"betty4\",\"betty5\"], more:\"Five books \u00B7 Four coming December \u00B7 Five coming soon\"},\n  tipples:{name:\"Tipples, Elephant and Cawlie\", pen:\"Allan Cooney\", kind:\"Junior fiction \u00B7 ages 9 to 12\", line:\"A blue cattle dog from a tough Sydney lane misadventures his way west around the world, with a black tom cat who thinks he is king of it and a young crow who reports it all on Crownet.\", books:[\"tip01\",\"tip02\",\"tip03\",\"tip04\",\"tip05\",\"tip06\",\"tip07\",\"tip08\",\"tip09\",\"tip10\",\"tip11\"], more:\"Eleven books\"},\n  ns:{name:\"Nonsense and Sense\", pen:\"Allan Cooney\", kind:\"Comic novels \u00B7 a pair\", line:\"Three candidates, one coastal shire, a hundred days. Then the town has to live with what it chose.\", books:[\"nonsense\",\"sense\"]},\n  novels:{name:\"Stand-alone novels\", pen:\"Allan Cooney\", kind:\"Novels\", line:\"A saga of the road to Federation, and a comic novel about who a town is for.\", books:[\"federation\",\"carpark\"]},\n  dream:{name:\"Dream On\", pen:\"\u00D3 Cuana\", kind:\"Reference\", line:\"1,111 dreams, read through Miller, Freud, Jung, Ibn Sirin, Zhou Gong, the Swapna Shastra and the sleep lab. Biene the Oracle has the last word.\", books:[\"dreamon\"]}\n};\n\n// Prices are drafts for discussion. Ebooks enrolled in Kindle Unlimited can only be sold through Amazon.\nconst SIGNED = {k:\"signed\", n:\"Signed edition\", direct:true};\nconst TIPSERIES = \"Tipples is the smallest of six pups and small for a heeler even grown. He never starts anything and he never leaves anything unfinished. Elephant is a black tom who is certain he is king of the world and has never been given cause to doubt it. Cawlie is a crow. She does the news, she has sources on four continents, and she narrates all eleven books, including the parts she wasn't there for, which she will tell you about first. One country a volume, three years, one loop. Nobody ever wins a fight. All of them win.\";\nconst BOOKS = {\n  rrr:{t:\"Run Rabbit, Red\", s:\"ic\", no:\"Book One\", img:A+\"rrr.jpg\", status:\"Out now\",\n    blurb:[\"The boy comes round the last corner with the bread under his arm, and the door is gone.\",\n      \"He is nine years old. Under the grease in his hair is a colour that everyone on the station knows the price of, because by law he is not a child at all. He was made in a room, and the men coming down the passage have a warrant to collect him.\",\n      \"Sell Cevern is a dying ring in deep space, half dark and short of air, with a million people left where five million lived. Its children run Rabbit, a banned and brutal race across the station, gate by gate and fight by fight, for purses big enough to change a life. The boy has a stolen name, a feral repair machine that nobody else can understand, and a place at a street gym run by a reformed hard man who teaches books before gloves. If he is careful he might stay alive. If he can win the red run, the course that draws blood and that almost nobody wins, he might get out.\",\n      \"Ninety-nine worlds away, a princess walks out of a massacre at her family's ball and into the jungle with a legendary pirate. Seven weeks later they bring her home. She refuses the crown and takes the power instead: kind in her garden, cold in the halls of government, and patient in the way only the very long-lived can be. One of the first things she does is put a price on every made child in the realm.\",\n      \"Told by a narrator who sees almost everything and is seen by almost no one, Run Rabbit, Red follows two lives across nineteen years, side by side. It is a space opera about long lives and short ones: about who is given time, and who is denied it.\",\n      \"Book One of The Impossible Child.\"],\n    facts:[[\"Pages\",\"546\"],[\"Published\",\"17 October 2026\"],[\"Paperback ISBN\",\"979-8-16-285397-8\"],[\"Series\",\"The Impossible Child, 1\"]],\n    f:[{k:\"kindle\",n:\"Kindle eBook\",p:15.99,sm:\"Free to read in Kindle Unlimited\",amz:\"B0HN91WR82\"},\n       {k:\"audio\",n:\"Audiobook\",p:29.99,sm:\"Read in Allan's voice \u00B7 coming 2027\",soon:true},\n       {k:\"pb\",n:\"Paperback\",p:34.99,sm:\"6 \u00D7 9 in \u00B7 546 pages\",amz:\"B0HN9CM8KY\"},\n       {k:\"hc\",n:\"Hardcover\",p:49.99,sm:\"Case laminate\",amz:\"B0HN96V7L8\"},\n       {...SIGNED,p:95,sm:\"Hardcover signed and dedicated by Allan \u00B7 posted from Australia\"}]},\n  blackball:{t:\"The Black Ball\", s:\"ic\", no:\"Book Two\", img:A+\"blackball.jpg\", status:\"Coming soon\",\n    blurb:[\"This afternoon I ruined a man. I would sign it again in the morning.\",\n      \"The boy who won the red run on a dying ring is nobody in law: a child made in a room, hunted since the night he was born. Elgar takes him in. It is a hard little planet that sells its soldiers to the stars and asks only that they come back. There he earns a name, a company of his own, and a way of thinking no machine can follow.\",\n      \"Thirty years on, the Crown of the Ninety-Nine Worlds is losing a war to ships with no one aboard, and it hires him to turn it.\",\n      \"In her garden the princess Heather is still the girl who rode the sand at dawn. In her halls she has made herself the coldest power in the principality. She has never met the captain the feeds call the Hero of Ardle, and she has no idea what he is to her.\",\n      \"At midsummer the sealed ballroom opens for the first time since the massacre, and he walks up the hill as a guest of honour. Before the night is out, the court will roll up its sleeves.\",\n      \"One night, thirty years in the making. The second book of The Impossible Child. Start with Book One, Run Rabbit, Red.\",\n      \"This book contains violence, including one death told in detail, and the aftermath of a long-hidden cult that preyed on children. No harm to a child is shown on the page.\"], facts:[[\"Series\",\"The Impossible Child, 2\"]],\n    f:[{k:\"kindle\",n:\"Kindle eBook\",p:15.99,sm:\"Pre-order\",soon:true},{k:\"pb\",n:\"Paperback\",p:34.99,soon:true,sm:\"Coming soon\"},{k:\"hc\",n:\"Hardcover\",p:49.99,soon:true,sm:\"Coming soon\"},{...SIGNED,p:95,sm:\"Register interest\",soon:true}]},\n  lww:{t:\"The Long White Wall\", s:\"ic\", no:\"Book Three\", img:\"/cdn/shop/files/lww.jpg\", status:\"Coming 27 January\", blurb:[\"Book Three of The Impossible Child, and the close of the first trilogy. Coming 27 January 2027.\"], facts:[[\"Series\",\"The Impossible Child, 3\"]],\n    f:[{k:\"kindle\",n:\"Kindle eBook\",p:15.99,soon:true,sm:\"Coming 27 January\"},{k:\"pb\",n:\"Paperback\",p:34.99,soon:true,sm:\"Coming 27 January\"},{k:\"hc\",n:\"Hardcover\",p:49.99,soon:true,sm:\"Coming 27 January\"},{...SIGNED,p:95,soon:true,sm:\"Register interest\"}]},\n  bluerabbit:{t:\"Blue Rabbit\", s:\"ic\", no:\"A Novella\", img:\"/cdn/shop/files/bluerabbit.jpg\", status:\"Free from 17 November\", sub:\"A Novella of The Impossible Child\", blurb:[\"The first Rabbit run on Principia is against the law. Everybody is watching anyway.\",\"Darcey Dahilo is fifteen, sixteen by the end of the day, a laundry girl from the Sumps, and nobody has ever looked at her twice. That suits her. The woman who took her in off the step has told her once a month all her life: never be the one they look at.\",\"Then Darcey draws blue. It is the long way round, the clever run, five gates and five fights across the city of Nulon, from the slums to the harbour, along the sea walls and over the palace wall itself, where the guns fire on their own. The course runs through the Princess's own rose garden, where nobody goes uninvited.\",\"The whole of Principia is watching her run. And in the garden, a woman in an old coat is waiting with a pair of shears.\",\"A complete novella of The Impossible Child. No earlier book needed. Free from 17 November.\"], facts:[[\"Series\",\"The Impossible Child, a novella\"],[\"Price\",\"Free\"]], f:[{k:\"kindle\",n:\"Free eBook\",soon:true,sm:\"Free from 17 November\"}]}, shepherd:{t:\"The Shepherd\", s:\"shepherd\", no:\"\", img:A+\"shepherd.jpg\", status:\"Out Friday 13 November\", sub:\"Ten Thousand Years of Leadership, Learned the Hard Way\",\n    blurb:[\"Ten Thousand Years of Leadership, Learned the Hard Way.\",\"The model told in two voices: the man who was there, and a narrator who has watched ten thousand years of shepherding.\"],\n    facts:[[\"Publisher\",\"KMD Books\"],[\"Release\",\"Friday 13 November 2026\"]],\n    f:[{k:\"pb\",n:\"Paperback\",p:32.99,sm:\"Sold by the publisher, KMD Books\",kmd:\"https://www.kmdbooks.com/shop\"},{k:\"kindle\",n:\"eBook\",p:14.99,sm:\"Sold by the publisher, KMD Books\",kmd:\"https://www.kmdbooks.com/shop\"},{k:\"audio\",n:\"Audiobook\",p:29.99,soon:true,sm:\"Coming\"},{k:\"hc\",n:\"Hardcover\",p:44.99,soon:true,sm:\"If KMD prints one\"},{...SIGNED,p:55,sm:\"Paperback signed by Allan \u00B7 posted from Australia\"}]},\n  isyn:{t:\"I See You Now\", s:\"betty\", no:\"Book One\", img:A+\"isyn.jpg\", status:\"Out now\",\n    blurb:[\"He left her in Paris because he was sure she would leave him first. Fifteen years later, she has come to find him.\",\n      \"Claudia Perone gave thirty years to the French service. Then she had enough. Now she is on America's Great Loop, six thousand miles of rivers, canals and lakes, alone on a slow boat. She has decided to catch the one who got away, and know, one way or the other.\",\n      \"Kian Woodlawn pulls boaters out of trouble. He flies his own helicopter, runs a fleet of workboats, and disappears for the winter when the season ends. He has a rule about the past, and he has kept it for fifteen years.\",\n      \"But someone from Claudia's old life has followed her onto the water. On the Erie Canal, the woman who bought her boat is found in a coma. The man who came for Claudia will try again. Finding Kian means bringing that man to his door.\",\n      \"In Chicago, a young FBI agent named Betty Pinkerston has noticed a French passport number on a bill of sale. Nobody upstairs wants her to follow it.\",\n      \"A second-chance romance with a killer on the water.\"],\n    facts:[[\"Series\",\"Betty Pinkerston, 1\"],[\"Published\",\"28 October 2026\"]],\n    f:[{k:\"kindle\",n:\"Kindle eBook\",p:7.99,sm:\"Free to read in Kindle Unlimited\",amz:\"B0HPKHXFNY\"},{k:\"audio\",n:\"Audio serial\",p:19.99,soon:true,sm:\"Thirteen episodes \u00B7 coming\"},{k:\"pb\",n:\"Paperback\",p:24.99,soon:true,sm:\"Coming\"},{...SIGNED,p:65,sm:\"Signed by Allan as \u00D3 Cuana\",soon:true}]},\n  beacon:{t:\"Beacon\", s:\"betty\", no:\"Book Two\", img:A+\"beacon.jpg\", status:\"Out now\",\n    blurb:[\"Betty Pinkerston's first client walks in with a dead husband's secrets. Her favorite dance partner walks in five minutes later. Betty knows a match when she sees one.\",\n      \"Philly O'Neill has buried her husband, and his three grown children want everything he left her. Then an old man calls at eleven at night, perfectly polite, to say her husband had something that belonged to his family. They'd like it back.\",\n      \"Mac Keane flies medical helicopters out of Chicago, keeps his late wife's reading glasses where she left them, and dances only with Betty, because Betty talks for two. He isn't looking. Neither is Philly. Betty has other plans.\",\n      \"Somewhere off the south shore of Lake Michigan lies a gangster's gold that went into the water in 1937 and never came out. The only map was tattooed on a dead man's back: three old lights, and three numbers, and one of them lost. The old family wants it first.\",\n      \"A Chicago treasure caper with a love story at its heart. Book Two of the Betty Pinkerston Series.\"],\n    f:[{k:\"kindle\",n:\"Kindle eBook\",p:7.99,sm:\"Free to read in Kindle Unlimited\",amz:\"B0HPZ5D2TJ\"},{k:\"pb\",n:\"Paperback\",p:24.99,soon:true,sm:\"Coming\"},{...SIGNED,p:65,soon:true,sm:\"Coming\"}]},\n  sonatelli:{t:\"Sonatelli Prosecco\", s:\"betty\", no:\"Book Three\", img:A+\"sonatelli.jpg\", status:\"Coming soon\",\n    blurb:[\"Betty Pinkerston has a dress in a bag on the back of her bedroom door and a seat in the third pew. She never gets there.\",\n      \"She wakes in the trunk of a car with a T-shirt over her head, hearing her best friend's wedding bells through the metal. By that night she is thirty-nine thousand feet over the Atlantic, with a well-dressed young man who has been told to bring her and was never told what for.\",\n      \"It started with a client's business jet coming home from a trip nobody ordered, and a strip of foam under the floor that one careful man forgot to take out. Four hundred kilos of gold a run, moved out of a hangar in Gary, Indiana by people who never meet each other, to a family of Tuscan hill farmers who have been quietly moving other people's money since before Columbus sailed.\",\n      \"They are very polite. They have never once been caught. And one of them has just made the first serious mistake his family has made in five hundred years.\",\n      \"Betty is short, stubborn, dressed beautifully, and fights professionally in a cage on Saturday nights. She does not scream and she does not run. She gets in the car with him, and she tells him to drive her to his uncle's house.\",\n      \"Sonatelli Prosecco is the third Betty Pinkerston mystery.\"], f:[{k:\"kindle\",n:\"Kindle eBook\",p:7.99,soon:true,sm:\"Coming soon\"}]},\n  betty4:{t:\"The Twin\", s:\"betty\", no:\"Book Four\", img:\"/cdn/shop/files/thetwin.jpg\", status:\"Coming December\", blurb:[\"Antonello Sonatelli has a twin he has never met. Somewhere in America, under another name, is the only other person born that same morning in the same Dublin hospital, and given away. He hires Betty Pinkerston to find them.\",\"Betty follows the trail from Dublin to New York and on to a frozen winter on the Niagara River, and finds that she is not the only one looking.\",\"The Twin is the fourth Betty Pinkerston mystery. Coming December 2026.\"], facts:[[\"Series\",\"The Betty Pinkerston series, 4\"]], f:[{k:\"kindle\",n:\"Kindle eBook\",p:7.99,soon:true,sm:\"Coming December\"},{k:\"pb\",n:\"Paperback\",p:24.99,soon:true,sm:\"Coming December\"}]},\n  betty5:{t:\"Dancer in Red\", s:\"betty\", no:\"Book Five\", img:\"/cdn/shop/files/dancerinred.jpg\", status:\"Coming soon\", blurb:[\"Betty Pinkerston is home in Chicago, and so is Tule's new boat, the Red Dancer. Not everyone is glad to see them back.\",\"Betty works for the Sonatelli house now, and somebody in Miami has unfinished business with it.\",\"Dancer in Red is the fifth Betty Pinkerston novel. Coming soon.\"], facts:[[\"Series\",\"The Betty Pinkerston series, 5\"]], f:[{k:\"kindle\",n:\"Kindle eBook\",p:7.99,soon:true,sm:\"Coming soon\"},{k:\"pb\",n:\"Paperback\",p:24.99,soon:true,sm:\"Coming soon\"}]},\n  dreamon:{t:\"Dream On\", s:\"dream\", no:\"\", img:A+\"dreamon.jpg\", status:\"Out now\", sub:\"1,111 Dreams with Biene the Oracle\",\n    blurb:[\"Everyone dreams. Almost no one knows what to do with them in the morning.\",\n      \"Dream On gathers 1,111 dreams \u2014 the ones nearly everyone has, and a thousand more the night gets specific about \u2014 and reads each one the way the whole world has learned to: the old dream dictionaries, Freud and Jung, the classical traditions of China, India, and the Islamic science of dreams, a betting window in Buenos Aires, and what the sleep laboratory can (and can't) actually confirm. Ten voices, side by side, allowed to disagree.\",\n      \"And at the end of every entry, one more voice has the last word. The Oracle \u2014 Biene, who keeps bees and has, in two thousand years, never once been surprised. She doesn't predict. She doesn't diagnose. She hands the dream back to the only person who can read it: you.\",\n      \"This is a dream book with a conscience. Where a dream touches your health, it says so plainly: a dream about your body is not a diagnosis of it. Where the old traditions reach for doom, it declines to frighten you. It would rather be honest than mysterious \u2014 and it's funny where the night is funny, because sometimes a banana is just a banana and the floor is wet.\",\n      \"Look up a falling dream at 3am. Look up your grandmother's hands, a locked door, a tooth that came loose, a message you never sent. Read what ten traditions made of it, hear what Biene says, and go back to sleep.\",\n      \"1,111 dreams. Ten traditions. One oracle who charges less than silence.\",\n      \"Ask Biene for a reading of last night's dream at askbiene.com.\"],\n    facts:[[\"Length\",\"About 148,000 words \u00B7 585 pages\"]],\n    f:[{k:\"kindle\",n:\"Kindle eBook\",p:14.99,sm:\"Free to read in Kindle Unlimited\",amz:\"B0H98FP327\"},{k:\"pb\",n:\"Paperback\",p:39.99,sm:\"6 \u00D7 9 in \u00B7 365 pages\",amz:\"B0HQW87J7C\"},{...SIGNED,p:75,soon:true,sm:\"Coming\"}]},\n  nonsense:{t:\"Nonsense\", s:\"ns\", no:\"Book One\", img:A+\"nonsense.jpg\", status:\"New\", sub:\"Three candidates. One coastal shire. A hundred days.\",\n    blurb:[\"The weekend Todd Todd's girlfriend left him for a feminine freshness mist, someone stole his tools. He minds the tools more.\",\n      \"He is twenty-four, a carpenter in his first year on his own, and he needs every one of them. The trailer went from outside his house in the night with every power tool he owns inside it, each one engraved TT. He has a renovation that must reach lock-up by December, or he doesn't get paid.\",\n      \"Holt Shire, on a stretch of Australian coast that looks exactly like the brochures, has had no council for eighteen months, and the election is a hundred days off. A real estate agent who wants to scrap the rules, a socialist who once chained herself to the sand dune, and the local proctologist all want to be mayor. Within three weeks each of them has put Todd's face on a flyer. Nobody asked him. Nobody has found his tools.\",\n      \"Todd would like his tools back.\",\n      \"A comic novel in the spirit of Carl Hiaasen, set on a summer coast so exact you can smell the sunscreen.\"],\n    facts:[[\"Paperback ISBN\",\"979-8-14-029078-8\"],[\"Published\",\"6 November 2026\"]],\n    f:[{k:\"pb\",n:\"Paperback\",p:24.99,sm:\"361 pages\",amz:\"B0HQMRS5XP\"},{k:\"kindle\",n:\"Kindle eBook\",p:6.99,sm:\"Free to read in Kindle Unlimited\",amz:\"B0HQMDD7XV\"},{...SIGNED,p:55,soon:true,sm:\"Coming\"}]},\n  sense:{t:\"Sense\", s:\"ns\", no:\"Book Two\", img:A+\"sense.jpg\", status:\"Coming\", sub:\"Seventeen days to seventeen.\", blurb:[\"Seventeen days to seventeen.\",\n      \"Seventeen days before her seventeenth birthday on 1 August, Ruby Todd tells the Holt Head Cricket Club she won't play this season. Everyone on the Lighthouse Coast wants her to be something (a doctor, a cricketer, a swimmer, a surfer, the face of a cause), two letters from the AIS want an answer by her birthday, and the river mouth has run the colour of tea since the June storms while the town fights over what the colour means.\",\n      \"Ruby is trying to make sense of it all, and finds that the truth, told plainly, settles nothing for anyone but her.\",\n      \"The second book of Nonsense and Sense.\"], f:[]},\n  carpark:{t:\"CARPARK\", s:\"novels\", no:\"\", img:A+\"carpark.jpg\", status:\"New\",\n    blurb:[\"For thirty-one years Dot Pargeter kept the council's rates. Now she sleeps in its car park.\",\n      \"She is sixty-eight. Her husband left her for a woman from the lawn bowls, and the cottage she rented for nine years is now a holiday let at $460 a night, with her lemon tree in the listing photos. Her daughter in Perth thinks she has a little unit behind the bakery. Pav, her thirteen-year-old kelpie cross, knows better.\",\n      \"Every night they park in Bay 14, under the jacaranda, behind the council building where Dot used to work. Then the council bans sleeping in cars.\",\n      \"So Dot runs for mayor. Her campaign manager is a nineteen-year-old who reviews pies on TikTok. Her deposit comes out of a swear jar. Her opponent is Clive Brannigan, three-term mayor and real estate agent, whose smiling face is on every bus shelter in town above the words We'll Get You Home.\",\n      \"Dot has the whole rates file in her head, and she reads the attachments.\",\n      \"A warm comic novel for readers who loved A Man Called Ove, set in a New South Wales coastal town that sells itself better than it treats its own.\"],\n    facts:[[\"Paperback ISBN\",\"979-8-14-029157-0\"],[\"Published\",\"6 November 2026\"]],\n    f:[{k:\"pb\",n:\"Paperback\",p:24.99,amz:\"B0HQN5W2PY\"},{k:\"kindle\",n:\"Kindle eBook\",p:6.99,sm:\"Free to read in Kindle Unlimited\",amz:\"B0HQVYKPST\"},{...SIGNED,p:55,soon:true,sm:\"Coming\"}]},\n  federation:{t:\"Federation\", s:\"novels\", no:\"\", img:\"/cdn/shop/files/federation-cover-bourke.jpg\", status:\"Coming\", sub:\"Two lives. A nation's beginning.\",\n    blurb:[\"Two lives. A nation's beginning.\",\"A convict boy and a free Irishman meet at a ship's rail in 1839.\",\"Fifty-five years later the rich old man finds the convict's grandson, a broke shearer and bare-knuckle fighter, in the strike camps at Bourke. Under both stories runs the road to Federation, and the country it was built on.\",\n      \"Two Irishmen, one free and one in chains, meet at a ship's rail in 1839. One hands the other an idea that takes sixty years, three generations and the birth of a nation to find the man who can carry it.\"],\n    facts:[[\"Length\",\"720 pages\"]],\n    f:[{k:\"pb\",n:\"Paperback\",p:39.99,soon:true,sm:\"Coming\"},{k:\"kindle\",n:\"Kindle eBook\",p:12.99,soon:true,sm:\"Coming\"},{...SIGNED,p:85,soon:true,sm:\"Coming\"}]},\n  tip01:{t:\"The Toughest Pup in the Lane\", s:\"tipples\", no:\"Book 1\", img:A+\"tip01.jpg\", status:\"2027\", blurb:[\"Book One \u00B7 Sydney\",\"Tipples is the smallest of six pups in a lane behind a Sydney fish shop, and the one who never stays tipped over. He eats a chip belonging to the lane's Rottweiler, learns the work in a western cattle town, and falls foul of a black cat called Elephant, who has decided he is king. A crate on a wharf carries him out of the country with the argument still open.\",TIPSERIES], f:[]},\n  tip02:{t:\"Everybody Bows\", s:\"tipples\", no:\"Book 2\", img:A+\"tip02.jpg\", status:\"2027\", blurb:[\"Book Two \u00B7 Japan\",\"Tipples comes ashore in Japan as a ghost the fishermen have been feeding, and the country passes him north village by village. Elephant lands in a mountain monastery where the kitchen keeps no meat, and the monks, meaning well, hang a bell on him. Cawlie finds the crows of Japan fighting a war in the air, and is offered a rank in it.\",TIPSERIES], f:[]},\n  tip03:{t:\"The Kingdom of Fifty-Four Beds\", s:\"tipples\", no:\"Book 3\", img:A+\"tip03.jpg\", status:\"2027\", blurb:[\"Book Three \u00B7 the Trans-Siberian\",\"A railway crosses Russia with the same station at both ends, and a dog, a cat and a crow ride it without tickets. The attendant of Carriage Nine starts lifting bed lids, so the three of them make a working arrangement that officially does not exist. There is a runaway engine, a lake that will not let a dog in, and a fight in Red Square over nothing.\",TIPSERIES], f:[]},\n  tip04:{t:\"The Fattest Cattle on Earth\", s:\"tipples\", no:\"Book 4\", img:A+\"tip04.jpg\", status:\"2027\", blurb:[\"Book Four \u00B7 Belgium and Paris\",\"For the first time in his life Tipples goes looking for something, and what he wants is cattle. Belgium has them: enormous, fed by wagon, unwilling to be worked. Paris suits him better until a net and a van put him in a pound with no gap in it anywhere. Elephant is across the city on the best ledge in it, and the pound's bolt sits at the height of a rearing cat.\",TIPSERIES], f:[]},\n  tip05:{t:\"The City That Belongs to Cats\", s:\"tipples\", no:\"Book 5\", img:A+\"tip05.jpg\", status:\"2027\", blurb:[\"Book Five \u00B7 Rome\",\"Rome has paperwork saying its cats may sit wherever they please, and Elephant walks into an empire already built, then audits it by nose in the dark. Tipples works the tourists until his food starts vanishing before he arrives. Cawlie owes a favour to the top of her own trade and pays it. It ends with a fountain, a net, and a van going out past the edge of the city.\",TIPSERIES], f:[]},\n  tip06:{t:\"The Camel Who Spat at a King\", s:\"tipples\", no:\"Book 6\", img:A+\"tip06.jpg\", status:\"2027\", blurb:[\"Book Six \u00B7 Egypt\",\"Cawlie is summoned to Egypt by the top of her own profession, and both boys travel there too. A camel spits on Elephant within an hour of arrival and remembers him afterwards. Tipples falls in with the camels, the one rich smell in a country that keeps its scents shut. A fight at the pyramids runs in front of the wrong audience, and the crow steps between them.\",TIPSERIES], f:[]},\n  tip07:{t:\"Peckish\", s:\"tipples\", no:\"Book 7\", img:A+\"tip07.jpg\", status:\"2027\", blurb:[\"Book Seven \u00B7 Africa\",\"Africa takes one of them down each side. Elephant is shown the sights by a hippopotamus called Peckish, who is ridiculous on purpose and cannot be beaten at it. Tipples crosses the salt road with a camel, closes a lake to a crocodile, and meets two Kalahari trackers who read yesterday off the ground. They find each other at a rugby ground in Cape Town, mid-match.\",TIPSERIES], f:[]},\n  tip08:{t:\"The Wrong Tiger\", s:\"tipples\", no:\"Book 8\", img:A+\"tip08.jpg\", status:\"2027\", blurb:[\"Book Eight \u00B7 India\",\"Cawlie steps into an open cage beside a crate of hens, the door is shut by a boy tidying up, and the bus goes north. A tiger on a forest road calls Elephant a house cat and then gives way to the dog. The two of them set out after the bus on foot, days behind it. A cow at a crossroads does what the whole crow network cannot.\",TIPSERIES], f:[]},\n  tip09:{t:\"The First Blue Heeler to Climb Everest\", s:\"tipples\", no:\"Book 9\", img:A+\"tip09.jpg\", status:\"2027\", blurb:[\"Book Nine \u00B7 Nepal\",\"Kathmandu gives one day a year to the dogs, and Tipples arrives on it, in time to start a race that empties the main square. Then he goes up into the high country with a climbing party and a langur who cannot pass a higher place. Elephant claims the whole operation afterwards, and for once a witness reads out the facts.\",TIPSERIES], f:[]},\n  tip10:{t:\"Houses for Cats\", s:\"tipples\", no:\"Book 10\", img:A+\"tip10.jpg\", status:\"2027\", blurb:[\"Book Ten \u00B7 China\",\"Tipples comes down the far side of the mountains alone, finds a river going east, and rides it: noodles at nose height, a staircase of locks built for ships, a barge with grain in the hold. Elephant walks into China on foot and meets a city where no cat is hungry and no cat is afraid. Cawlie carries a question to the mouth of the river.\",TIPSERIES], f:[]},\n  tip11:{t:\"Three Sausages\", s:\"tipples\", no:\"Book 11\", img:A+\"tip11.jpg\", status:\"2027\", blurb:[\"Book Eleven \u00B7 home under sail\",\"Seven weeks under sail: one deck, no engine, and no news in any direction. The ship's cook feeds twenty-two men and never drops a thing, so Tipples takes up a position outside the galley door at the same hour every day and waits. Sydney, when it comes, has changed the lane. The bins have new lids, and a truck with a clipboard has a Thursday marked in it.\",TIPSERIES], f:[]}\n};\n\n// No signed editions (Allan, 7 November): every book is sold by Amazon or KMD.\nObject.values(BOOKS).forEach(b=>{ b.f = b.f.filter(f=>f.k!==\"signed\"); });\nconst PRODUCTS = [\n  {id:\"crownet\", n:\"Crownet tee\", p:45, d:\"The crow news network, as reported by Cawlie. Screen-print look, heavyweight cotton.\", art:\"crownet\"},\n  {id:\"tiptee\", n:\"Never start it. Always finish it.\", p:45, d:\"Tipples tee with the cover art from Book 1. Kids' and adult sizes.\", art:\"img\", img:A+\"tip01.jpg\"},\n  {id:\"rrrtee\", n:\"Run Rabbit, Red tee\", p:45, d:\"The Blue Madonna and the red runner, from the cover.\", art:\"img\", img:A+\"rrr.jpg\"},\n  {id:\"bbposter\", n:\"The Black Ball print\", p:39, d:\"A2 art print on matte archival paper.\", art:\"poster\", img:A+\"blackball.jpg\"},\n  {id:\"beemug\", n:\"Biene mug\", p:29, d:\"The gold bee from Dream On. Dishwasher safe.\", art:\"mug\"},\n  {id:\"isyntote\", n:\"I See You Now tote\", p:35, d:\"Heavy canvas tote with the Great Loop sunset.\", art:\"tote\", img:A+\"isyn.jpg\"}\n];\n\nconst $ = s => document.querySelector(s);\nconst money = p => \"A$\" + p.toFixed(2).replace(/\\.00$/,\"\");\nlet cart = 0;\nasync function refreshCart(){ try{ const c = await (await fetch(\"/cart.js\")).json(); const n = $(\"#cartn\"); if(n) n.textContent = c.item_count; }catch(e){} }\nasync function addToCart(handle, props, toastSel){\n  const t = $(toastSel);\n  try{\n    const p = await (await fetch(`/products/${handle}.js`)).json();\n    const v = p.variants.find(x=>x.available) || p.variants[0];\n    const r = await fetch(\"/cart/add.js\", {method:\"POST\", headers:{\"Content-Type\":\"application/json\"}, body: JSON.stringify({items:[{id:v.id, quantity:1, properties: props||{}}]})});\n    if(!r.ok) throw new Error(\"add\");\n    await refreshCart();\n    t.innerHTML = 'Added to your cart. <a href=\"/cart\">Go to checkout</a>';\n  }catch(e){ t.textContent = \"Sorry, this one is not on sale yet. Sign up and we will tell you when it is.\"; }\n}\nfunction esc(s){return String(s).replace(/[&<>\"]/g,c=>({\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\"}[c]))}\n\nfunction coverCard(id){\n  const b = BOOKS[id];\n  const img = b.img ? `<img src=\"${b.img}\" alt=\"${esc(b.t)} cover\" loading=\"lazy\">` : `<div class=\"placeholder\">Cover to come</div>`;\n  const soon = !/out now|^new$/i.test(b.status);\n  return `<a class=\"cover\" href=\"#book-${id}\"><div class=\"img\">${img}</div><span class=\"s${soon?\" soon\":\"\"}\">${esc(b.status)}</span><span class=\"t\">${esc(b.t)}</span></a>`;\n}\nfunction seriesRow(sid){\n  const s = SERIES[sid];\n  return `<div class=\"series\"><div><span class=\"label\">${esc(s.kind)}</span><h3><a href=\"#series-${sid}\">${esc(s.name)}</a></h3><p>${esc(s.line)}</p><p class=\"label\">As ${esc(s.pen)}</p></div><div class=\"covers\">${s.books.map(coverCard).join(\"\")}</div></div>`;\n}\n\nfunction viewHome(){\n  return `\n  <div class=\"wrap\"><div class=\"hero\">\n    <div>\n      <span class=\"ornament\">Author</span>\n      <h1>Allan Cooney</h1>\n      <p class=\"lede\">Novels for adults, a book on leadership, and eleven adventures for children. Some under my own name, some as ALLAN, some as \u00D3 Cuana. All of them told for the ear.</p>\n      <div class=\"names\"><span class=\"chip\"><b>Allan Cooney</b> \u00B7 novels, leadership, children</span><span class=\"chip\"><b>ALLAN</b> \u00B7 science fantasy</span><span class=\"chip\"><b>\u00D3 Cuana</b> \u00B7 crime, dreams</span></div>\n    </div>\n    <div class=\"features\">\n      <div class=\"feature\">\n        <img src=\"${A}shepherd.jpg\" alt=\"The Shepherd cover\">\n        <div><span class=\"date\">New \u00B7 Friday 13 November</span><h3>The Shepherd</h3><p>Ten thousand years of leadership, learned the hard way.</p><a class=\"btn\" href=\"#book-shepherd\">See the book</a></div>\n      </div>\n      <div class=\"feature\">\n        <img src=\"/cdn/shop/files/federation-cover-bourke.jpg\" alt=\"Federation cover\">\n        <div><span class=\"date\">Coming soon</span><h3>Federation</h3><p>Two lives. A nation's beginning.</p><a class=\"btn\" href=\"#book-federation\">See the book</a></div>\n      </div>\n    </div>\n  </div></div>\n  ${wordBand()}\n  <section class=\"band alt\" id=\"books-anchor\"><div class=\"wrap\">\n    <div class=\"sec-head\"><h2>The books</h2><span class=\"label\">Three names</span></div>\n    ${[\"shepherd\",\"novels\",\"ic\",\"ns\",\"betty\",\"tipples\",\"dream\"].map(seriesRow).join(\"\")}\n  </div></section>\n  <section class=\"band\"><div class=\"wrap split\">\n    <div class=\"panel\"><span class=\"label\">Writing</span><div class=\"sig\" aria-hidden=\"true\">Allan</div><h3>Essays and the Big Chair</h3><p>Five years of Friday columns, and the longer pieces on AI, judgement and the things that hold a country together.</p><a class=\"btn\" href=\"#writing\">Read the writing</a></div>\n    <div class=\"panel\"><span class=\"label\">The shop</span><h3>Crownet, covers and the gold bee</h3><p>T-shirts, prints, mugs and totes made from the cover art. Printed to order and shipped from Australia.</p><a class=\"btn ghost\" href=\"#shop\">Visit the shop</a></div>\n  </div></section>\n  ${newsletter()}`;\n}\n// Word counts per book, taken from the manuscript files. pub = on sale.\nconst WORDS = { written: 1604171, published: 811003, asof: \"13 November 2026\" };\nfunction wordBand(){\n  return `<section class=\"band words\"><div class=\"wrap wordgrid\">\n    <div class=\"wc\"><span class=\"n\" data-count=\"${WORDS.written}\">0</span><span class=\"label\">Words written</span><p>Every book in the house, drafts and works in progress included.</p></div>\n    <div class=\"wc\"><span class=\"n\" data-count=\"${WORDS.published}\">0</span><span class=\"label\">Words published</span><p>On sale now, in ebook, print or both.</p></div>\n    <p class=\"label wcnote\">Both counts rise as the books are written and released${WORDS.asof?\" \u00B7 as of \"+esc(WORDS.asof):\"\"}</p>\n  </div></section>`;\n}\nfunction countUp(){\n  document.querySelectorAll(\"[data-count]\").forEach(el=>{\n    const target = +el.dataset.count, fmt = v=>Math.round(v).toLocaleString(\"en-AU\");\n    if(matchMedia(\"(prefers-reduced-motion: reduce)\").matches){ el.textContent = fmt(target); return; }\n    const t0 = performance.now(), dur = 1800;\n    const step = t=>{ const k = Math.min(1,(t-t0)/dur); el.textContent = fmt(target*(1-Math.pow(1-k,3))); if(k<1) requestAnimationFrame(step); };\n    requestAnimationFrame(step);\n  });\n}\nfunction newsletter(){\n  return `<section class=\"band alt\"><div class=\"wrap news\">\n    <div><span class=\"label\">The letter</span><h2 style=\"font-size:clamp(28px,4vw,40px);margin-top:8px\">The Big Chair</h2><p style=\"color:var(--muted)\">Friday from the Big Chair ran for five years. The Big Chair carries it on: stories and signals you can check for yourself, in plain Australian English, and new books first to subscribers.</p></div>\n    <div><p style=\"margin:0 0 16px;color:var(--muted)\">Choose what you hear about: new books, The Big Chair, a single series or the shop.</p><a class=\"btn\" href=\"#signup\">Sign up</a></div>\n  </div></section>`;\n}\nfunction viewBooks(){\n  return `<section class=\"band\"><div class=\"wrap\"><div class=\"sec-head\"><h2>All books</h2><span class=\"label\">By series</span></div>${Object.keys(SERIES).map(seriesRow).join(\"\")}</div></section>`;\n}\nfunction viewSeries(sid){\n  const s = SERIES[sid]; if(!s) return viewBooks();\n  return `<div class=\"wrap\"><div class=\"crumbs\"><a href=\"#books\">Books</a> / ${esc(s.name)}</div>\n    <div class=\"hero\" style=\"grid-template-columns:1fr;padding-top:8px\"><div><span class=\"ornament\">${esc(s.kind)}</span><h1 style=\"font-size:clamp(38px,6vw,72px)\">${esc(s.name)}</h1><p class=\"lede\">${esc(s.line)}</p><p class=\"label\">Written as ${esc(s.pen)}${s.more?\" \u00B7 \"+esc(s.more):\"\"}</p>${(window.PAGES||{})[\"series-\"+sid]?`<div class=\"blurb series-desc\">${md(PAGES[\"series-\"+sid].desc)}</div>`:\"\"}</div></div>\n    <div class=\"covers\" style=\"grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding-bottom:56px\">${s.books.map(coverCard).join(\"\")}</div></div>`;\n}\nfunction viewBook(id){\n  const b = BOOKS[id]; if(!b) return viewBooks();\n  const s = SERIES[b.s];\n  const pg = (window.PAGES||{})[id];\n  const fm = b.f.length ? b.f : [{k:\"none\",n:\"Not yet available\",p:0,soon:true,sm:\"Join the Friday letter to hear first\"}];\n  const fmts = fm.map((f,i)=>`<button type=\"button\" class=\"fmt${f.k===\"signed\"?\" sigfmt\":\"\"}\" id=\"fmt-${f.k}\" data-i=\"${i}\" aria-pressed=\"${i===0}\"><span class=\"n\">${esc(f.n)}</span><span class=\"p\">${f.p?money(f.p):\"\u2014\"}</span><small>${esc(f.sm||\"\")}</small></button>`).join(\"\");\n  return `<div class=\"wrap\"><div class=\"crumbs\"><a href=\"#books\">Books</a> / <a href=\"#series-${b.s}\">${esc(s.name)}</a> / ${esc(b.t)}</div>\n  <div class=\"book\">\n    <div>${b.img?`<img class=\"bigcover\" src=\"${b.img}\" alt=\"${esc(b.t)} cover\">`:`<div class=\"placeholder\" style=\"aspect-ratio:5/8\">Cover to come</div>`}</div>\n    <div>\n      <span class=\"label\">${esc(s.name)}${b.no?\" \u00B7 \"+esc(b.no):\"\"}</span>\n      <h1>${esc(b.t)}</h1>\n      <div class=\"byline\">${esc(s.pen)}</div>\n      ${pg&&pg.tag?`<p class=\"tagline\">${inl(pg.tag)}</p>`:\"\"}\n      <div class=\"blurb\" style=\"margin-top:22px\">${pg&&pg.desc?md(pg.desc):b.blurb.map(p=>`<p>${esc(p)}</p>`).join(\"\")}</div>\n      ${b.facts?`<div class=\"facts\">${b.facts.map(([k,v])=>`<div><span class=\"label\">${esc(k)}</span>${esc(v)}</div>`).join(\"\")}</div>`:\"\"}\n    </div>\n    <aside class=\"buybox\" aria-label=\"Buy\">\n      <span class=\"label\">Choose a format</span>\n      <div class=\"fmts\" id=\"fmts\">${fmts}</div>\n      <div class=\"buy-price\" id=\"bprice\"></div>\n      <div class=\"buy-note\" id=\"bnote\"></div>\n      <div class=\"buy-actions\" id=\"bact\"></div>\n      <div class=\"toast\" id=\"btoast\"></div>\n    </aside>\n  </div></div>\n  ${pg&&pg.ex?`<section class=\"band alt\"><div class=\"wrap sample\"><span class=\"label\">Read a sample</span><h2>${esc(pg.exh||\"From the book\")}</h2><div class=\"prose\">${md(pg.ex)}</div><p class=\"label\" style=\"margin-top:28px\">${esc(b.t)} \u00B7 ${esc(s.pen)}</p></div></section>`:\"\"}`;\n}\nfunction bindBook(id){\n  const b = BOOKS[id]; if(!b) return;\n  const fm = b.f.length ? b.f : [{k:\"none\",n:\"Not yet available\",p:0,soon:true,sm:\"Join the Friday letter to hear first\"}];\n  const show = i => {\n    const f = fm[i];\n    document.querySelectorAll(\".fmt\").forEach(x=>x.setAttribute(\"aria-pressed\", String(+x.dataset.i===i)));\n    $(\"#bprice\").textContent = f.p ? money(f.p) : \"\";\n    $(\"#btoast\").textContent = \"\";\n    let note=\"\", act=\"\";\n    if(f.soon){ note = f.sm || \"Coming soon\"; act = `<button class=\"btn ghost\" type=\"button\" id=\"notify\">Tell me when it's out</button>`; }\n    else if(f.direct){ note = \"Sold here, signed by Allan. \"+(f.sm||\"\"); act = `<button class=\"btn\" type=\"button\" id=\"addcart\">Add to cart</button><label class=\"label\" for=\"dedic\" style=\"margin-top:6px\">Dedication (optional)</label><input id=\"dedic\" style=\"padding:10px;font:15px var(--body);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius)\" placeholder=\"To Karen, ...\">`; }\n    else if(f.kmd){ note = f.sm || \"\"; act = `<a class=\"btn\" href=\"${f.kmd}\" target=\"_blank\" rel=\"noopener\">Buy from KMD Books</a>`; }\n    else if(f.amz){ const u = AMZ(f.amz); note = f.sm || \"\"; act = `<a class=\"btn\" href=\"${u.au}\" target=\"_blank\" rel=\"noopener\">Buy on Amazon</a><div class=\"retailers\">Also: <a href=\"${u.us}\" target=\"_blank\" rel=\"noopener\">Amazon US</a><a href=\"${u.uk}\" target=\"_blank\" rel=\"noopener\">Amazon UK</a></div>`; }\n    else { note = f.sm || \"\"; act = `<button class=\"btn\" type=\"button\" disabled style=\"opacity:.6;cursor:default\">Retailer link to add</button>`; }\n    $(\"#bnote\").textContent = note; $(\"#bact\").innerHTML = act;\n    const ac = $(\"#addcart\"); if(ac) ac.onclick = () => { const d = ($(\"#dedic\")||{}).value; addToCart(\"signed-\"+id, d ? {Dedication:d} : {}, \"#btoast\"); };\n    const nt = $(\"#notify\"); if(nt) nt.onclick = () => { location.hash = \"signup\"; };\n  };\n  document.querySelectorAll(\".fmt\").forEach(x=>x.addEventListener(\"click\",()=>show(+x.dataset.i)));\n  show(0);\n}\nfunction viewSigned(){\n  const list = Object.entries(BOOKS).filter(([,b])=>b.f.some(f=>f.k===\"signed\"));\n  return `<section class=\"band\"><div class=\"wrap\">\n    <div class=\"sec-head\"><h2>Signed editions</h2><span class=\"label\">Signed and dedicated by Allan</span></div>\n    <p style=\"max-width:40em;color:var(--muted)\">Signed editions are coming later: print copies signed by hand, with your dedication if you want one. <a href=\"#signup\">Sign up</a> to hear when they open. Until then, every book is on sale through Amazon, and The Shepherd through KMD Books.</p>\n    <div class=\"covers\" style=\"grid-template-columns:repeat(auto-fill,minmax(170px,1fr));margin-top:28px\">${list.map(([id,b])=>{const f=b.f.find(x=>x.k===\"signed\");return `<a class=\"cover\" href=\"#book-${id}\"><div class=\"img\"><img src=\"${b.img}\" alt=\"${esc(b.t)} cover\" loading=\"lazy\"></div><span class=\"s${f.soon?\" soon\":\"\"}\">${f.soon?\"Coming\":money(f.p)}</span><span class=\"t\">${esc(b.t)}</span></a>`}).join(\"\")}</div>\n  </div></section>`;\n}\nfunction art(p){\n  const tee = inner => `<svg viewBox=\"0 0 200 200\" role=\"img\" aria-label=\"${esc(p.n)} mock-up\"><path d=\"M62 28 L84 20 Q100 32 116 20 L138 28 L172 52 L156 78 L142 70 L142 182 L58 182 L58 70 L44 78 L28 52 Z\" fill=\"var(--tee)\" stroke=\"var(--line)\" stroke-width=\"1.5\"/>${inner}</svg>`;\n  if(p.art===\"crownet\") return tee(`<g transform=\"translate(100 96)\"><path d=\"M-20 4 Q-6 -14 10 -8 L22 -14 L16 -4 Q20 6 8 12 L-6 12 Q-18 12 -20 4Z\" fill=\"var(--ink)\"/><circle cx=\"12\" cy=\"-7\" r=\"1.6\" fill=\"var(--tee)\"/><text y=\"34\" text-anchor=\"middle\" font-family=\"Josefin Sans, Arial\" font-weight=\"600\" font-size=\"16\" letter-spacing=\"3\" fill=\"var(--ink)\">CROWNET</text><text y=\"48\" text-anchor=\"middle\" font-family=\"Josefin Sans, Arial\" font-size=\"6.5\" letter-spacing=\"2\" fill=\"var(--accent)\">THE CROW NEWS NETWORK</text></g>`);\n  if(p.art===\"img\") return tee(`<image href=\"${p.img}\" x=\"74\" y=\"62\" width=\"52\" height=\"80\" preserveAspectRatio=\"xMidYMid slice\"/>`);\n  if(p.art===\"poster\") return `<svg viewBox=\"0 0 200 200\" role=\"img\" aria-label=\"${esc(p.n)} mock-up\"><rect x=\"52\" y=\"14\" width=\"96\" height=\"152\" fill=\"#fff\" stroke=\"var(--line)\"/><image href=\"${p.img}\" x=\"58\" y=\"20\" width=\"84\" height=\"134\" preserveAspectRatio=\"xMidYMid slice\"/><rect x=\"40\" y=\"176\" width=\"120\" height=\"3\" fill=\"var(--line)\"/></svg>`;\n  if(p.art===\"mug\") return `<svg viewBox=\"0 0 200 200\" role=\"img\" aria-label=\"${esc(p.n)} mock-up\"><path d=\"M138 78 Q170 80 168 108 Q166 134 136 132\" fill=\"none\" stroke=\"#2a2350\" stroke-width=\"10\"/><rect x=\"48\" y=\"58\" width=\"94\" height=\"104\" rx=\"8\" fill=\"#2a2350\"/><g transform=\"translate(95 108)\" fill=\"#d4a84b\"><ellipse rx=\"7\" ry=\"11\"/><ellipse cx=\"-12\" cy=\"-6\" rx=\"10\" ry=\"5\" opacity=\".7\"/><ellipse cx=\"12\" cy=\"-6\" rx=\"10\" ry=\"5\" opacity=\".7\"/><rect x=\"-7\" y=\"-3\" width=\"14\" height=\"2\" fill=\"#2a2350\"/><rect x=\"-7\" y=\"3\" width=\"14\" height=\"2\" fill=\"#2a2350\"/></g><path d=\"M86 72 a7 7 0 1 0 7 -7 a5 5 0 1 1 -7 7\" fill=\"#d4a84b\" opacity=\".9\"/></svg>`;\n  if(p.art===\"tote\") return `<svg viewBox=\"0 0 200 200\" role=\"img\" aria-label=\"${esc(p.n)} mock-up\"><path d=\"M76 60 Q76 22 100 22 Q124 22 124 60\" fill=\"none\" stroke=\"#b9a77e\" stroke-width=\"6\"/><rect x=\"46\" y=\"56\" width=\"108\" height=\"128\" fill=\"#e6dcc3\"/><image href=\"${p.img}\" x=\"70\" y=\"76\" width=\"60\" height=\"90\" preserveAspectRatio=\"xMidYMid slice\"/></svg>`;\n  return `<svg viewBox=\"0 0 200 200\" role=\"img\" aria-label=\"${esc(p.n)} mock-up\"><rect x=\"40\" y=\"46\" width=\"120\" height=\"108\" fill=\"#fbf7ec\" stroke=\"#c9b98f\"/><rect x=\"48\" y=\"54\" width=\"104\" height=\"92\" fill=\"none\" stroke=\"#c9b98f\" stroke-dasharray=\"3 3\"/><text x=\"100\" y=\"84\" text-anchor=\"middle\" font-family=\"EB Garamond, Georgia\" font-style=\"italic\" font-size=\"11\" fill=\"#5a4a2a\">From the library of</text><text x=\"100\" y=\"114\" text-anchor=\"middle\" font-family=\"Poiret One, cursive\" font-size=\"24\" fill=\"#8a6a1e\">Allan</text><path d=\"M66 126 H134\" stroke=\"#c9b98f\"/></svg>`;\n}\nfunction viewShop(){\n  return `<section class=\"band\"><div class=\"wrap\">\n    <div class=\"sec-head\"><h2>The shop</h2><span class=\"label\">Printed to order \u00B7 shipped from Australia</span></div>\n    <div class=\"shopgrid\">${PRODUCTS.map(p=>`<div class=\"prod\"><div class=\"stage\">${art(p)}</div><h3>${esc(p.n)}</h3><p>${esc(p.d)}</p>${/tee/.test(p.id)?`<div class=\"sizes\">${[\"S\",\"M\",\"L\",\"XL\",\"2XL\"].map(z=>`<span>${z}</span>`).join(\"\")}</div>`:\"\"}<div class=\"row\"><span class=\"price\">${money(p.p)}</span><button class=\"btn ghost\" type=\"button\" data-add=\"${p.id}\" id=\"add-${p.id}\">Add to cart</button></div></div>`).join(\"\")}</div>\n    <div class=\"toast\" id=\"shoptoast\" style=\"margin-top:20px\"></div>\n  </div></section>`;\n}\nfunction bindShop(){\n  document.querySelectorAll(\"[data-add]\").forEach(b=>b.addEventListener(\"click\",()=>{ $(\"#shoptoast\").innerHTML = \"The shop opens later. <a href=\\\"#signup\\\">Sign up</a> to hear when it does.\"; }));\n}\n// Writing: the Big Chair archive and essays, from writing.js\nconst W = window.WRITING || {posts:[], essays:[]};\nconst MONTHS = [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];\nfunction fdate(iso){ if(!iso) return \"Undated\"; const [y,m,d] = iso.split(\"-\").map(Number); return d ? `${d} ${MONTHS[m-1]} ${y}` : (m ? `${MONTHS[m-1]} ${y}` : String(y)); }\nfunction inl(s){ return esc(s).replace(/\\*\\*(.+?)\\*\\*/g,\"<b>$1</b>\").replace(/\\*(.+?)\\*/g,\"<i>$1</i>\"); }\nfunction md(text){\n  return text.replace(/\\r/g,\"\").split(/\\n\\s*\\n/).map(block=>{\n    const b = block.trim(); if(!b || /^-{3,}$/.test(b)) return \"\";\n    const h = b.match(/^(#{2,4})\\s+(.+)$/); if(h) return `<h3 class=\"wh\">${inl(h[2])}</h3>`;\n    if(/^-\\s+/.test(b)) return `<ul>${b.split(/\\n/).map(l=>`<li>${inl(l.replace(/^-\\s+/,\"\"))}</li>`).join(\"\")}</ul>`;\n    if(/^\\d+\\.\\s+/.test(b)) return `<ol start=\"${parseInt(b)}\"><li>${inl(b.replace(/^\\d+\\.\\s+/,\"\"))}</li></ol>`;\n    return `<p>${b.split(/\\n/).map(inl).join(\"<br>\")}</p>`;\n  }).join(\"\");\n}\nfunction postTitle(p){ const t = p.t.replace(/^Friday from the ?Big ?C\\w+\\s*[-\u2013\u2014:]\\s*/i,\"\"); return /^[a-z]/.test(t) ? \"Friday from the Big Chair\" : (t.length>90 ? t.slice(0,88).replace(/\\s\\S*$/,\"\")+\"\u2026\" : t); }\nfunction viewWriting(){\n  const years = {}; W.posts.forEach(p=>{ const y = p.d ? p.d.slice(0,4) : \"Undated\"; (years[y]=years[y]||[]).push(p); });\n  const order = Object.keys(years).sort((a,b)=>b.localeCompare(a));\n  return `<div class=\"wrap\"><div class=\"hero\" style=\"grid-template-columns:1fr;padding-bottom:24px\"><div>\n      <span class=\"ornament\">Writing</span>\n      <h1 style=\"font-size:clamp(38px,6vw,72px)\">Essays and the Big Chair</h1>\n      <p class=\"lede\">Five years of Friday columns, and the longer pieces on AI, judgement and the things that hold a country together.</p>\n    </div></div></div>\n  <section class=\"band alt\"><div class=\"wrap\">\n    <div class=\"sec-head\"><h2>Essays</h2><span class=\"label\">Longer pieces</span></div>\n    <div class=\"essays\">${W.essays.map(e=>`<a class=\"essay\" href=\"#essay-${e.id}\"><span class=\"label\">${esc(fdate(e.d))} \u00B7 ${Math.round(e.w/200)} min read</span><h3>${esc(e.t)}</h3><p>${esc(e.s||\"\")}</p></a>`).join(\"\")}</div>\n  </div></section>\n  <section class=\"band\"><div class=\"wrap\">\n    <div class=\"sec-head\"><h2>Friday from the Big Chair</h2><span class=\"label\">${W.posts.length} columns \u00B7 July 2021 to May 2026</span></div>\n    <p style=\"max-width:40em;color:var(--muted);margin-top:-12px\">Every Friday for five years, a story and a thought from the big chair, written first for the people Allan worked with and then for anyone who wanted it.</p>\n    <div class=\"years\">${order.map(y=>`<a class=\"chip\" href=\"#y${y}\">${y}</a>`).join(\"\")}</div>\n    ${order.map(y=>`<h3 class=\"yhead\" id=\"y${y}\">${y}</h3><ul class=\"posts\">${years[y].map(p=>`<li><a href=\"#post-${p.n}\"><span class=\"pd\">${esc(fdate(p.d))}</span><span class=\"pt\">${inl(postTitle(p))}</span><span class=\"pw\">${Math.max(1,Math.round(p.w/200))} min</span></a></li>`).join(\"\")}</ul>`).join(\"\")}\n  </div></section>`;\n}\nfunction viewArticle(kind, key){\n  const list = kind===\"post\" ? W.posts : W.essays;\n  const i = list.findIndex(x=> kind===\"post\" ? String(x.n)===key : x.id===key);\n  if(i<0) return viewWriting();\n  const a = list[i], prev = list[i+1], next = list[i-1];\n  const title = kind===\"post\" ? postTitle(a) : a.t;\n  const link = x => kind===\"post\" ? `#post-${x.n}` : `#essay-${x.id}`;\n  return `<div class=\"wrap\"><div class=\"crumbs\"><a href=\"#writing\">Writing</a> / ${kind===\"post\"?\"Friday from the Big Chair\":\"Essays\"}</div>\n    <article class=\"article\">\n      <span class=\"label\">${esc(fdate(a.d))} \u00B7 ${Math.max(1,Math.round(a.w/200))} min read</span>\n      <h1>${inl(title)}</h1>\n      ${a.s?`<p class=\"dek\">${esc(a.s)}</p>`:\"\"}\n      <div class=\"byline\" style=\"margin-bottom:28px\">Allan Cooney</div>\n      <div class=\"prose\">${md(a.b)}</div>\n      <nav class=\"pn\">${prev?`<a href=\"${link(prev)}\"><span class=\"label\">Earlier</span>${inl(kind===\"post\"?postTitle(prev):prev.t)}</a>`:\"<span></span>\"}${next?`<a href=\"${link(next)}\" style=\"text-align:right\"><span class=\"label\">Later</span>${inl(kind===\"post\"?postTitle(next):next.t)}</a>`:\"\"}</nav>\n    </article></div>${newsletter()}`;\n}\nconst LISTS = [\n  {id:\"books\", n:\"New books\", d:\"A short note when a book comes out, and nothing else.\", on:true},\n  {id:\"chair\", n:\"The Big Chair\", d:\"The letter: stories and signals you can check for yourself.\"},\n  {id:\"ic\", n:\"The Impossible Child\", d:\"News of the saga, as ALLAN, and early chapters.\"},\n  {id:\"betty\", n:\"Betty Pinkerston\", d:\"The crime novels, as \u00D3 Cuana.\"},\n  {id:\"coast\", n:\"Nonsense, Sense and CARPARK\", d:\"The comic novels of the coast.\"},\n  {id:\"fed\", n:\"Federation\", d:\"Release news for the saga of 1839 to 1904.\"},\n  {id:\"tipples\", n:\"Tipples, Elephant and Cawlie\", d:\"For parents, teachers and readers aged nine to twelve.\"},\n  {id:\"shop\", n:\"The shop\", d:\"When new merch is ready.\"},\n  {id:\"audio\", n:\"Audiobooks\", d:\"When each book comes out in audio.\"}\n];\nfunction viewSignup(){\n  return `<div class=\"wrap\"><div class=\"signup\">\n    <div>\n      <span class=\"ornament\">Sign up</span>\n      <h1>Hear it first</h1>\n      <p class=\"lede\" style=\"font-size:19px\">Pick what you want to hear about. You'll get only that, and you can change it or leave from any email.</p>\n      <p style=\"color:var(--muted);font-size:16px\">No spam, no selling your address, and no more than one email a week across everything you choose.</p>\n    </div>\n    <form id=\"signform\" class=\"panel\" novalidate>\n      <label class=\"label\" for=\"su-name\">First name</label>\n      <input id=\"su-name\" class=\"field\" autocomplete=\"given-name\" placeholder=\"Karen\">\n      <label class=\"label\" for=\"su-email\">Email address</label>\n      <input id=\"su-email\" class=\"field\" type=\"email\" autocomplete=\"email\" placeholder=\"you@example.com\" aria-describedby=\"su-err\">\n      <div class=\"err\" id=\"su-err\" role=\"alert\"></div>\n      <label class=\"label\" for=\"su-country\">Country</label>\n      <select id=\"su-country\" class=\"field\"><option>Australia</option><option>New Zealand</option><option>United Kingdom</option><option>Ireland</option><option>United States</option><option>Canada</option><option>Somewhere else</option></select>\n      <fieldset class=\"lists\"><legend class=\"label\">What would you like?</legend>\n        ${LISTS.map(l=>`<label class=\"opt\"><input type=\"checkbox\" id=\"su-${l.id}\" value=\"${l.id}\"${l.on?\" checked\":\"\"}><span><b>${esc(l.n)}</b><small>${esc(l.d)}</small></span></label>`).join(\"\")}\n        <div class=\"err\" id=\"su-err2\" role=\"alert\"></div>\n      </fieldset>\n      <button class=\"btn\" type=\"submit\" style=\"width:100%\">Sign me up</button>\n      <div class=\"toast\" id=\"su-done\"></div>\n    </form>\n  </div></div>`;\n}\nfunction bindSignup(){\n  const f = $(\"#signform\"), em = $(\"#su-email\");\n  em.addEventListener(\"input\", ()=>{ $(\"#su-err\").textContent=\"\"; });\n  f.addEventListener(\"change\", ()=>{ $(\"#su-err2\").textContent=\"\"; });\n  f.addEventListener(\"submit\", e=>{\n    e.preventDefault();\n    const ok = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(em.value.trim());\n    const picked = [...f.querySelectorAll(\".lists input:checked\")].map(x=>x.value);\n    if(!ok){ $(\"#su-err\").textContent = \"Enter a valid email address.\"; em.focus(); return; }\n    if(!picked.length){ $(\"#su-err2\").textContent = \"Pick at least one thing to hear about.\"; return; }\n    const sf = document.getElementById(\"shopify-signup\"); sf.querySelector(\"[name='contact[email]']\").value = em.value.trim(); sf.querySelector(\"[name='contact[first_name]']\").value = $(\"#su-name\").value.trim(); sf.querySelector(\"[name='contact[tags]']\").value = [\"newsletter\"].concat(picked.map(x=>\"list-\"+x), [\"country-\"+$(\"#su-country\").value]).join(\",\"); sf.submit();\n  });\n}\nfunction viewAbout(){\n  return `<div class=\"wrap\"><div class=\"about\">\n    <div class=\"photo\">Photo of Allan<br>to come<br><br>portrait, 4 \u00D7 5</div>\n    <div>\n      <span class=\"ornament\">About</span>\n      <h1>Allan Cooney</h1>\n      <p class=\"draft\"></p>\n      <p>Allan Cooney is an Australian writer. For five years he wrote a weekly column, Friday from the Big Chair, first for the people he worked with and then for anyone who wanted it. The whole run, from July 2021 to May 2026, is on the <a href=\"#writing\">Writing</a> page.</p>\n      <p>He writes across the shelves: comic novels of an Australian coast in Nonsense, Sense and CARPARK; Federation, a saga of the road to 1901; The Shepherd, on leadership; The Impossible Child, a science fantasy saga published as ALLAN; the Betty Pinkerston crime novels and the Dream On dictionary as \u00D3 Cuana; and Tipples, Elephant and Cawlie, eleven books for children that began as yarns told to station hands and pilots.</p>\n      <p>He writes with AI tools and says so on every book.</p>\n      <blockquote>AI is a tool, a hammer. The carpenter built the house.<br><span class=\"label\" style=\"font-style:normal\">A note on method</span></blockquote>\n      <div class=\"names\"><span class=\"chip\">Media kit</span><span class=\"chip\">Speaking and podcasts</span><span class=\"chip\">Contact</span></div>\n    </div>\n  </div></div>${newsletter()}`;\n}\n\nfunction route(){\n  const h = (location.hash || \"#home\").slice(1);\n  let html, nav = \"home\", after = null;\n  if(h===\"home\") html = viewHome();\n  else if(h===\"books\") { html = viewBooks(); nav=\"books\"; }\n  else if(h.startsWith(\"series-\")) { html = viewSeries(h.slice(7)); nav=\"books\"; }\n  else if(h.startsWith(\"book-\")) { const id=h.slice(5); html = viewBook(id); nav=\"books\"; after=()=>bindBook(id); }\n  else if(h===\"signed\") { html = viewBooks(); nav=\"books\"; }\n  else if(h===\"shop\") { html = viewShop(); nav=\"shop\"; after=bindShop; }\n  else if(h===\"about\") { html = viewAbout(); nav=\"about\"; }\n  else if(h===\"writing\") { html = viewWriting(); nav=\"writing\"; }\n  else if(h===\"signup\") { html = viewSignup(); nav=\"signup\"; after=bindSignup; }\n  else if(/^y\\d{4}$|^yUndated$/.test(h)) { html = viewWriting(); nav=\"writing\"; after=()=>{ const el=document.getElementById(h); if(el) setTimeout(()=>el.scrollIntoView(),0); }; }\n  else if(h.startsWith(\"post-\")) { html = viewArticle(\"post\", h.slice(5)); nav=\"writing\"; }\n  else if(h.startsWith(\"essay-\")) { html = viewArticle(\"essay\", h.slice(6)); nav=\"writing\"; }\n  else html = viewHome();\n  $(\"#view\").innerHTML = html;\n  document.querySelectorAll(\"nav.main a\").forEach(a=>{ if(a.dataset.nav===nav) a.setAttribute(\"aria-current\",\"page\"); else a.removeAttribute(\"aria-current\"); });\n  \n  if(after) after();\n  countUp();\n  window.scrollTo(0,0);\n}\nfunction setLook(l){\n  document.body.dataset.look = l;\n  document.querySelectorAll(\"#looks button\").forEach(b=>b.setAttribute(\"aria-pressed\", String(b.dataset.look===l)));\n  try{ localStorage.setItem(\"look\", l); }catch(e){}\n}\ndocument.querySelectorAll(\"#looks button\").forEach(b=>b.addEventListener(\"click\",()=>setLook(b.dataset.look)));\nsetLook(\"deco\");\nwindow.addEventListener(\"hashchange\", route);\nroute();\nrefreshCart();\nif(/customer_posted=true/.test(location.search)){ location.hash = 'signup'; setTimeout(()=>{ const d=document.getElementById('su-done'); if(d) d.textContent='Thank you. You are signed up.'; },50); }\n"],
  "mappings": "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",
  "names": []
}
